数据结构大纲斗哥哥

1.掌握数据结构的基本概念和术语。

数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。

数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。

数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。

数据对象:是性质相同的数据元素的集合,是数据的子集。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

逻辑结构:是指数据对象中数据元素之间的相互关系。

1. 集合结构 集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系。

2. 线性结构 线性结构中的数据元素之间是一对一的关系。

3. 树形结构 树形结构中的数据元素之间存在一种一对多的层次关系。

4. 图形结构 图形结构的数据元素是多对多的关系。

物理结构:是指数据的逻辑结构在计算机中的存储形式。

1. 顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系式一致的。

2. 链式存储结构:是把数据元素放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。

2.了解抽象数据类型的概念。

数据类型:是指一组性质相同的值的集合以及在此集合上的一些操作的总称。

抽象数据类型:是指一个数学模型及定义在该模型上的一组操作。

3.掌握算法的特性,算法的描述和算法的分析。

算法:是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

算法的特性:输入输出,有穷性,确定性,可行性。

常数阶:O(1)   线性阶:O(n) 对数阶:O(logn)  平方阶:O(m*n)

算法的空间复杂度:

二、线性表

1.理解线性表的逻辑结构。

线性表:零个或多个数据元素的有限序列。

2.掌握线性表的顺序存贮结构和链式存贮结构;掌握线性表基本操作的实现。

线性表的顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素。

线性表的链式存储结构:n个结点链结成一个链表,即为线性表的链式存储结构。

单链表:链表的每个结点只包含一个指针域。

头指针:链表中第一个结点的存储位置。

静态链表:用数组描述的链表。

循环链表:

双向链表:

3.了解线性表的应用。

三、其他线性结构

1.掌握栈的定义、栈的存贮结构及基本操作的实现。

栈:是限定仅在表尾进行插入和删除操作的线性表。

栈的顺序存储结构,栈的链式存储结构

2.理解用栈实现表达式的求值,递归过程及其实现。

3.掌握队列的定义、存贮结构及基本操作的实现

队列:是指允许在一端进行插入操作,另一端进行删除操作的线性表。

循环队列:队列的这种头尾相接的顺序存储结构。

链队列:

4.理解串的逻辑定义及其基本操作;理解串的存贮结构。

串:是由零个或多个字符组成的有限序列,又叫字符串。

KMP模式匹配算法

5.理解数组的定义、数组的顺序存贮结构及矩阵的存贮压缩。

6.理解广义表的定义及存贮结构。

四、树和二叉树

1.掌握树型结构的定义。

度:结点拥有的子树数称为结点的度。

深度:树中结点的最大层次称为树的深度或高度。

2.掌握二叉树的定义、性质及各种存贮结构。

二叉树:

完全二叉树:

性质:

3.掌握遍历二叉树、线索二叉树及其他基本操作。

前序遍历:根结点,左子树,右子树。

中序遍历:左子树,根结点,右子树。

后序遍历:左子树,右子树,根节点

层序遍历:从上到下,从左到右,逐层遍历

4.掌握树、森林与二叉树的相互转换;理解树的遍历;掌握哈夫曼树及其应用。

树转化为二叉树:

森林转化为二叉树:

二叉树转换为树:

二叉树转为森林:

树的遍历:

森林的遍历:

哈夫曼树:

压缩编码:哈夫曼编码,带权路径最小的二叉树叫哈夫曼树

五、图

1.掌握图的定义和术语。

图:

顶点,

2.掌握图的存贮结构;理解图的基本操作。

3.掌握图的遍历算法;了解利用图的遍历解决图的应用问题。

4.理解图的有关应用:求最小生成树、求最短路径、拓扑排序及关键路径等算法的基本思想。

六、查找

1.掌握静态查找表。

1.稠密索引

2.分块索引

3.倒排索引

2.掌握二叉排序树和平衡二叉树。

动态查找

3.理解B-树;了解B+树。

4.掌握哈希表。

七、内部排序

1.掌握直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序;理解基数排序。

参考书目:

1. 《数据结构》(C语言版),严蔚敏 吴伟民编著,清华大学出版社,2006.3

2. 《数据结构实用教程》(C++版),万健主编,电子工业出版社,2011.1

THE END
0.ABAP类的构成要素1.实例构造方法(CONSTRUCTOR):实例构造方法只能添加IMPORTING参数,类似于MEHTOD添加IMPORTING参数,但是这里的参数类型是由系统默认提供,所以不能人为指定。 2.静态构造方法(CLASS_CONSTRUCTOR):只用于设定静态属性默认值的方法(因为它是一个静态方法),但是静态构造方法不能指定参数和异常,它只是一jvzquC41yy}/lrfpuj{/exr1r1j7:?h:3elde;
1.类对象和构造方法(JAVA基础三)java对象类抽象类构造函数文章浏览阅读266次。本文详细介绍面向对象编程的基本概念,包括对象、类、属性与方法等核心要素,以及构造方法、this关键字等内容,帮助初学者快速掌握面向对象编程的基础。jvzquC41dnuh0lxfp0tfv8QEJQTTGXSG1cxuklqg1fkucrqu13887A9;76
2.山东大学软件学院面向对象开发技术期末复习知识点总结方法:对象执行的操作称为方法。 静态属性:多个对象都可以对静态属性进行操作, 实现同类多个对象间的数据共享。 静态方法:静态方法为类所有,可以通过对象来使用,也可以通过类来使用。 但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用。 静态方法只能调用静态变量;没有伪变量this。构造和jvzquC41dnuh0lxfp0tfv8vsa7922<;:71gsvrhng1jfvjnnu17389=5869
3.设计模式那点事万物皆可“建造者”(2)建造者要素 /** * 建造者模式,来完成(对一个对象)链式校验逻辑。 * 1. 私有的构造方法; * 2. public的静态方法,创建Builder对象 * 3. 静态内部类 Builder完成主要逻辑; * 4. Builder里面提供的方法,返回this; * --- * 1. 为了规范数据的输出,参数可以要求传入Predicate和String 在代码内部构造Function对jvzquC41yy}/lrfpuj{/exr1r1hghnk42c814B
4.数据结构1绪论不同的数据元素可以组成相同的数据结构2 数据结构的三要素 逻辑结构和数据的运算是定义一种数据结构,解决如何用计算机实现这种数据结构是用物理结构(存储结构) 2-1 逻辑结构 2-1-1集合结构 定义:各个元素同属于一个集合,别无其他关系 2-1-2线性结构(1对1) 定义:数据元素是1对1的关系。除了第1个元素,所有元素都有唯一前驱;除了最后1个元素,所有元素都有唯一后继。 2-1-3jvzquC41dnuh0lxfp0tfv8|gkzooa>62897::8ftvkimg8igvcomu86625767@>
5.数据结构例程——二叉树的构造本文介绍如何通过不同的遍历序列构造二叉树的方法,包括由先序和中序、后序和中序序列构造二叉树的过程,并给出了具体的算法实现。 本文是数据结构基础系列(6):树和二叉树中第13课时二叉树的构造的例程。 1.由先序序列和中序序列构造二叉树 定理:任何n(n≥0)个不同节点的二叉树,都可由它的中序序列和先序jvzquC41dnuh0lxfp0tfv8xzjgrjlrfp1cxuklqg1fkucrqu16?39:=8;
6.使用“自由线性”工具创建尺寸注记要素—ArcMap|文档在起始尺寸注记点处单击地图。移动鼠标指针时将不会动态绘制该尺寸注记要素。 使用构造方法输入终止尺寸注记点。 使用构造方法输入希望尺寸注记线所处的点。 使用构造方法输入描述延伸线角度的点。 如果创建了四个以上的点,或者创建了既不表示起始或终止尺寸标注点,也不表示尺寸注记线高度,且jvzquC41fgylvxu0ctihk|3eqo5{j6hp1cxdoju1nczfu}4ocpghg6icvc5dtnfvkpm.pn|/hgguw{ju1exfc}npi/g.frrgpuopp6kgcv{sg6|kvj3ujn2htgk.nrsgct3uqxq0jvs
7.中金:宽基指数增强2.0体系收益新浪财经将情景分析的因子模型构造方法应用于指数增强组合构建时,将重点尝试其在中证500指数和中证1000指数增强上的应用效果,其主要的原因是中证500和中证1000的成分股在规模、流动性、成长等风格上更贴近全市场,成分股的风格均衡性要优于沪深300指数。 基于情景分析因子模型的中证500增强 jvzq<84hkpgoen3ukpg/exr0ep5tvxhm1uzpetov1814;22:/921mte/ksj|vxex::59=6;0unuou
8.单例模式那一叶随风1.2、单例模式模式四要素 私有的构造方法 私有克隆方法 指向自己实例的私有静态引用 以自己实例为返回值的静态的公有的方法 1.3、单例模式根据实例化对象时机的不同分为两种 一种是饿汉式单例,饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用; jvzquC41yy}/ewgnqiy/exr1rjvtv~i{4276/?4r18=43@590jznn
9.使用栅格捕捉和编辑要素构造工具创建要素—帮助|ArcGISDesktop可以使用“创建要素”窗口构造工具和“编辑器”工具栏草图构造方法工具生成要素,以追踪栅格并创建要素。此过程需要适当的栅格捕捉设置,以确保沿栅格线性元素的中心线创建要素。 除了捕捉到中心线以外,还可以捕捉到交点、拐角、端点和实体。使用“线”或“多边形”构造工具,您可以通过jvzquC41fgylvxu0ctihk|3eqo5{j6hp1cxdoju132461n}vgpyjqwx1ctitejs1etkbvrsi/hkbv~wgu/{tkwl/tcyug{2upcvqkwl/cpj.vqj/gfoukwl/hgguw{j/eqttv{zevkuo/}tqnu4ivv