数据结构与算法
未读
1.1 数组-稀疏数组
1.1.数组-稀疏数组 1.定义 稀疏数组(Sparse Array):当一个数组中的大部分元素为相同的值(0),可使用稀疏数组来保存该数组,可以将稀疏数组看做是普通数组的压缩,避免存储许多无用或相同数据而造成空间浪费。 2.处理方法 1)记录数组一共有几行几列,和不同的值的个数。 2)把具有不同值
数据结构与算法
未读
1.2 队列-循环链表
1.2 队列-循环队列 一.顺序 队列 队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量 front及 rear分别记录队列前后端的下标,front 会随着数
数据结构与算法
未读
1.3 链表(Linked List)
1.3 链表(Linked List) 一. 定义 链表是一种物理存储上非连续,数据元素的逻辑顺序通过链表中的指针链接次序,实现的一种线性存储结构。链表由一系列节点(链表中每一个元素称为节点)组成,节点在运行时动态生成 (malloc),每个节点包括两个部分:一个是存储数据元素的数据域,另一个是存储
数据结构与算法
未读
1.4 栈(Stack)
1.4 栈(Stack) 一. 定义 栈是一个先入后出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端(表尾)进行的一种特殊线性表。 栈顶(Top):允许插入和删除的一端,也是变化的一端(即表尾)。 栈底(Bottom):
数据结构与算法
未读
1.4.1 使用栈实现综合计数器
1.4.1 使用栈实现综合计数器 1.前缀表达式的计算机求值(波兰计算器) 从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素 和次顶元素),并将结果入栈;重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果 例如: (3+
数据结构与算法
未读
1.线性结构和非线性结构
1.线性结构和非线性结构 一.线性结构 1、线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。 2、线性结构拥有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的,链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元
数据结构与算法
未读
2.1 冒泡排序(Bubble Sorting)
2.1 冒泡排序(Bubble Sorting) 一. 定义 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 因为排序的过程中,各元素不断
数据结构与算法
未读
2.2 选择排序(select sorting)
2.2 选择排序(select sorting) 一. 定义 选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。 选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]—arr[n-1]中选取最小