休息了两天,状态恢复了一下,补充点基础知识。 二叉搜索树 搜索树数据结构支持许多动态集合操作,包括Search,minimum,maximum,predecessor(前驱),successor(后继),INSERT和DELETE等。因此我们使用一颗搜索树既可以作为一个字典又可以作为一个优先队列。且 ...
分类:
其他好文 时间:
2019-11-30 21:13:07
阅读次数:
96
一、线性表 1,什么是线性表 线性表就是零个或多个数据元素的有限序列。线性表中的每个元素只能有零个或一个前驱元素,零个或一个后继元素。在较复杂的线性表中,一个数据元素可以由若干个数据项组成。比如牵手排队的小朋友,可以有学号、姓名、性别、出生日期等数据项。 2,线性表的抽象数据类型 线性表的抽象数据类 ...
分类:
其他好文 时间:
2019-11-29 19:55:00
阅读次数:
62
单向链表:各节点中都包含一个指针(游标),且都统一指向直接后继节点,这类链表叫单向链表。双向链表:各节点都有一个指向前驱节点的指针和一个指向后继节点的指针,这类链表叫双向链表。 双向链表结构图 双向链表: ...
分类:
其他好文 时间:
2019-11-27 17:37:14
阅读次数:
65
20182330《程序设计与设计结构》 第十周学习总结 [toc] 教材学习内容总结 周一: 树 1. 树的定义:树是有n个结点组成的有限集合 n=0,为空树 n》0,有特定节点为根 2. 特点:非线性结构:一个前驱多个后继 。 其他(除根)到根的路径唯一 3. 结点的度:结点的子树数 树的度:结点 ...
分类:
其他好文 时间:
2019-11-26 22:34:52
阅读次数:
107
如何寻找特定遍历序列中二叉树节点的前驱和后继? 例子: ...
分类:
其他好文 时间:
2019-11-18 16:55:25
阅读次数:
73
一、线性表定义 线性表(List):由零个或多个数据元素组成的有限序列。(类似生活中排队) 关键点: (1)序列:元素之间先来后到,有顺序 (2)若元素多个,第一个元素无前驱,最后一个无后继,其他元素都有且只有一个前驱和后继(3)线性表强调有限的 例:a1,...,ai-1,ai.ai+1,...a ...
分类:
其他好文 时间:
2019-11-17 23:54:32
阅读次数:
115
在遍历二叉树的过程中,是按照一定的规则将二叉树中的结点排列成一个线性序列,从而得到二叉树中结点的先序序列或中序序列或后序序列。但是,当以二叉链表作为存储结构时,只能找到结点的左右孩子信息,而不能直接得到结点在任意一个序列中的前驱和后继的信息,而这种信息只有在遍历的动态过程中才能够得到。 为了保存这种 ...
分类:
其他好文 时间:
2019-11-12 01:08:28
阅读次数:
108
#include <list> #include <iostream> using std::list; /* 双向环状链表 //每一个结点 一个数据域 一个前驱指针 一个后驱指针 随机插入方便0(1) 随机访问效率低0(n) */ bool foo(int a) { return a % 2 ==... ...
分类:
其他好文 时间:
2019-10-31 18:20:55
阅读次数:
67
在日常开发过程中,我们不能避免的要对批量数据处理,这时候就要用到集合。集合总体上分为线性集合和非线性集合。线性集合是指元素具有唯一的前驱和后驱的数据结构类型;非线性集合是指有多个前驱和后驱的数据结构类型,如树和图。我们这里主要讲常用的线性集合,常用的线性集合有数组、ArrayList、List、Ha ...