
数据结构期末复习
文章平均质量分 57
sec0nd_
公众号:sec0nd安全
展开
-
数据结构期末复习-编程实现折半查找、堆排序和快速排序
文章目录折半查找堆排序快速排序折半查找int count=0; //记录查找次数int Search_Bin(SSTable ST,KeyType key){ // 在顺序表ST中顺序查找其关键字等于 key的数据元素 int low=1,mid,high=ST.length; // 置区间初值 while(low<=high) { count++; mid=(low+high)/2; if(key==ST.elem[mid].key) return原创 2021-07-02 17:31:13 · 372 阅读 · 0 评论 -
数据结构期末复习-编程实现队列的定义、入队、出队
队列的顺序表示-循环队列队列的表示#define MAXQSIZE 100 //最大队列长度Typedef struct{ QElemType *base; //初始化的动态分配存储空间 int front; //头指针 int rear; //尾指针}SqQueue;循环队列的初始化Status InitQueue (SqQueue &Q){ Q.base =new QElemType[MAXQSIZE];//为队列分配一个最大容量为MAXQSIZE的数组空间原创 2021-07-02 16:45:03 · 410 阅读 · 0 评论 -
数据结构期末复习-编程实现栈的定义、入栈、出栈
顺序栈顺序栈的表示#define MAXSIZE 100typedef struct{ SElemType *base; //栈底指针 SElemType *top; //栈顶指针 int stacksize; //栈可用的最大容量}SqStack;顺序栈的初始化Status InitStack( SqStack &S ){ S.base =new SElemType[MAXSIZE]; //为顺序栈动态分配一个最大容原创 2021-07-02 16:14:11 · 229 阅读 · 0 评论 -
数据结构期末复习-哈希表的6种构造方法和4种解决冲突方法
文章目录哈希表的概念哈希表散列法存储的基本思想优点缺点哈希方法(杂凑法)哈希函数(杂凑函数)哈希表(杂凑表)冲突哈希方法必须解决以下两个问题构造好的哈希函数制定一个好的解决冲突的方案哈希函数的构造方法直接定址法Hash(key)=a * key+b (a、b为常数)优点缺点举例除留余数法Hash(key)=key mod p (p是一个整数)特点关键技巧数字分析法特点举例平方取中法特点理由例折叠法特点适用于移位法间界叠加法举例随机数法Hash(key)=random(key) (random为随机原创 2021-07-02 15:05:03 · 10726 阅读 · 0 评论 -
数据结构期末复习-各种排序算法的特点
文章目录插入排序基本思想不同实现方法导致不同的算法描述直接插入排序排序过程算法分析折半插入排序排序过程算法分析希尔排序基本思想技巧优点例如算法分析缺点交换排序基本思想起泡排序基本思想优点算法分析快速排序基本思想算法分析选择排序基本思想简单选择排序排序过程算法分析树形选择排序堆排序什么是堆大根堆、小根堆基本思想算法分析归并排序归并:将两个或两个以上的有序表组合成一个新有序表2-路归并排序排序过程算法分析基数排序多关键字排序最高位优先MSD最低位优先LSD链式基数排序先决条件利用分配和收集进行排序过程算法分析原创 2021-07-02 11:20:38 · 799 阅读 · 0 评论 -
数据结构期末复习-顺序表和链表
顺序表顺序存储定义把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。简言之,逻辑上相邻,物理上也相邻顺序存储方法用一组地址连续的存储单元依次存储线性表的元素,可通过数组V[n]来实现。图解复杂度查找、插入、删除算法的平均时间复杂度O(n)空间复杂度S(n)=O(1) 没有占用辅助空间顺序表的特点利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系,即线性表的逻辑结构与存储结构一致。在访问线性表时,可以快速地计算出任何一个数据元素的存储地址。因此可以粗略地认为原创 2021-07-02 08:33:25 · 900 阅读 · 0 评论 -
数据结构期末复习-二叉排序树的构造
二叉排序树定义:二叉排序树或者是一棵空树;或者是具有如下特性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于根结点的值;若它的右子树不空,则右子树上所有结点的值均大于根结点的值;它的左、右子树也都分别是二叉排序树。(左小右大)存储结构通常,取二叉链表作为二叉排序树的存储结构typedef struct BiTNode { // 结点结构TElemType data;struct BiTNode *lchild, *rchild;// 左右孩子指针} BiTNode, *原创 2021-06-20 15:42:16 · 14719 阅读 · 4 评论 -
数据结构期末复习-逻辑结构和存储结构
文章目录逻辑结构划分方法一线性结构非线性结构划分方法二集合线性结构树形结构图形结构存储结构顺序存储结构链式存储结构逻辑结构划分方法一线性结构有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。例如:线性表、栈、队列、串非线性结构一个结点可能有多个直接前趋和直接后继例如:树、图划分方法二集合数据元素间除“同属于一个集合”外,无其它关系线性结构一个对一个,如线性表、栈、队列树形结构一个对多个,如树图形结构多个对多个,如图存储结构顺序存储结构原创 2021-06-05 18:03:52 · 187 阅读 · 0 评论 -
数据结构期末复习-图的相关概念和基本性质
文章目录定义和术语图有向图/无向图完全图稀疏图稠密图网邻接关联(依附)顶点的度路径路径长度回路(环)简单路径简单回路(简单环)连通图(强连通图)权与网子图连通分量(强连通分量)基本性质图的抽象类型定义基本操作顺序存储结构(数组(邻接矩阵)表示法)无向图的邻接矩阵表示法有向图的邻接矩阵表示法网(有权图)的邻接矩阵表示法邻接矩阵表示法的特点优点缺点链式存储结构邻接表(链式)表示法无向图的邻接表表示有向图的邻接表表示邻接表表示法的特点优点缺点邻接矩阵与邻接表表示法的关系先回顾下逻辑结构图是逻辑结构中最复杂的原创 2021-06-05 16:52:31 · 1061 阅读 · 0 评论 -
数据结构期末复习-赫夫曼树的构造
全文目录基本概念赫夫曼树的构造赫夫曼算法举个例子总结tips:赫夫曼树or哈夫曼树,指的是同一种树,学校老师教学时称赫夫曼树,我也随之采用赫夫曼树,不用纠结名称哈基本概念路径:从树中一个结点到另一个结点之间的分支构成这两个结点间的路径。结点的路径长度:两结点间路径上的分支数。树的路径长度:从树根到每一一个结点的路径长度之和。 记作: TL结点数目相同的二叉树中,完全二叉树是路径长度最短的二叉树。权(weight):将树中结点赋给一个有着某种含 义的数值,则这个数值称为该结点的权。结点的带原创 2021-06-03 20:20:47 · 1205 阅读 · 0 评论 -
数据结构期末复习-图的深度优先搜索和广度优先搜索
本文目录深度优先(DFS-Depth First Search)基本思想简单归纳举个例子详细归纳代码效率分析时间复杂度结论广度优先(BFS-Breadth First Search)基本思想简单归纳辅助队列代码效率分析时间复杂度空间复杂度深度优先(DFS-Depth First Search)基本思想仿树的先序遍历过程简单归纳访问起始点v若v的第1个邻接点没访问过,深度遍历此邻接点若当前邻接点已访问过,再找v的第2个邻接点重新遍历。举个例子深度优先遍历结果:2->1->原创 2021-06-03 17:45:55 · 716 阅读 · 0 评论 -
数据结构期末复习-二叉树遍历
根据二叉树写遍历序列先序遍历顺序:根左右中序遍历顺序:左根右后序遍历顺序:左右根根据序列画二叉树给先、中序先用先序确定根,用中序判断左右子树。给中、后序后序找根,中序判断左右子树参考视频:二叉树的遍历(b站)...原创 2021-06-03 11:26:35 · 151 阅读 · 0 评论 -
数据结构期末复习-KMP算法求next nextval
求next:先写下标j,有的是从0开始,有的是从1开始next[j]=光标前的最大匹配长度+1求nextval:第一位的nextval值必定为0,第二位如果于第一位相同则为0,如果不同则为1。总结如下:1、nextval[1]和next[1]的值一样,为0;2、如果s[i]=s[j],则nextval[i]=nextval[j];反之,nextval[i]=next[i].参考资源:b站视频;https://www.bilibili.com/video/BV1NJ411k7qm博原创 2021-06-03 11:22:38 · 339 阅读 · 0 评论 -
数据结构期末复习-栈的基本操作
栈栈示意图:定义只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构一对一关系存储结构用顺序栈或链栈存储均可,但顺序栈更常见运算规则只能在栈顶运算,但访问结点时依照==后进先出(LIFO)或先进后出(FILO)==的原则实现方式关键是编写入栈和出栈函数,具体实现依顺序栈或链栈的不同而不同基本操作有入栈、出栈、读栈顶元素值、建栈、判断栈满、栈空等栈的表示和操作的实现“进” =压入=PUSH()“出” =弹出=POP( )顺序栈的表示#define MAXSIZE 10原创 2021-06-03 11:19:19 · 255 阅读 · 0 评论