C++之数据结构
来源:互联网 发布:马季打侯宝林真相知乎 编辑:程序博客网 时间:2024/06/08 03:16
做了好多题,发现了好多新的定义,如根节点,二叉树,图等等,涉及到了好多有关数据结构的知识,刚开始的几道选择题貌似都是和此相关的东西,以下是自己画的简单的思维导图
对于数据结构,自己只是先明白了其中的一些简单的定义:
线性表:
1)定义:数据表中的数据元素是一对一的关系,即除了第一个和最后一个数据元素之外,其他数据元素都是首尾相接的。
2)结构特点:均匀性,有序性
在实现线性表数据元素的存储方面,可用顺序存储结构和链式存储结构两种方法。另外,栈,队列,和串也是线性表的特殊情况,固这些都属于线性结构。
3)链式存储和顺序存储的比较:
队列:
1)先进先出的特点,排队买东西则是一个很好的举例,排头的顾客买完后走掉,新来的顾客排在队尾。
2)链式存储:要知道任何一种实现表的方法,都可以用于实现队列。栈也同此;用指针实现的队列得到的实际上是一个单链表。
二叉树:
1)定义:二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。
二叉树是有序的,即若将其左、右子树颠倒,就成为另一棵不同的二叉树。即使树中结点只有一棵子树,也要区分它是左子树还是右子树。
2)概念:
3)性质:
线性结构和非线性结构:
1)线性结构:是n个数据元素的有序集合,在数据结构中指的是数据元素之间存在着“一对一”的线性关系的数据结构。
四个基本特征:- 集合中必存在唯一的一个“第一个元素”;
- 集合中必存在唯一的一个“最后的元素”;
- 除最后元素之外,其它数据元素均有唯一的“后继”;
- 除第一元素之外,其它数据元素均有唯一的“前驱”。
举例:如(a1,a2,a3……an),a1为第一个元素,an为最后一个元素,所以此集合即为一个线性结构的集合。
2)非线性结构的一个逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。
3)常见的线性结构:线性表(顺序表,链表),栈,队列,双队列,数组,串
常见的非线性结构:二维数组,多维数组, 广义表,树(二叉树),图(网)
2 0
- C数据结构之排序
- C 队列之数据结构
- C数据结构之单链表
- C语言之数据结构
- [C++]数据结构之单链表
- C语言之数据结构
- alloc.c初步之数据结构
- c语言数据结构之栈
- C语言数据结构之-队列
- 数据结构之多项式(C++)
- C语言数据结构之队列
- C语言数据结构之堆栈
- 数据结构之单链表(C++)
- c数据结构之单链表操作
- c函数之【数据结构函数】
- 数据结构之线性表(C#)
- 数据结构之队列(C实现)
- C - 数据结构之链表
- JSP/Servlet 工作原理(转载)
- 的确是这样。
- hdu 1043 Eight(8数码,第三重)
- 在Makefile中进行宏定义-D
- 什么是Amazon.s3
- C++之数据结构
- servlet和servlet容器
- Yahoo! 35条网站性能优化建议
- linux配置IP的方法
- 循序渐进企业级搜索引擎之Master模块设计及实现-系统加载
- Firefox中text-align=center的解决
- 回忆去哪网笔试题目
- 单例模式的5种实现方法。
- 视图的作用