如何定义单链表 非空线性表具有哪些结构特征

2025-01-3110:53:51创业资讯0

数据结构(C语言版) 期末复习汇总

第一章 绪论

数据结构:是研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。

数据结构的综合性和重要性:数据结构是一门介于数学、计算机硬件、计算机软件之间的核心课程,是设计和实现编译系统、操作系统、数据库系统及其他系统程序和大型应用程序的基础。

数据的逻辑结构划分:线形结构、树形结构、图状结构。

算法的定义及特性

算法:为了解决某类问题而规定的一个有限长的操作序列。

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

评价算法优劣的基本标准:正确性、可读性、健壮性、高效性及低存储量。

第二章 线性表

线性表的定义和特点:线性表是由n(n≥0)个数据特性相同的元素构成的有限序列。

线性表的操作:插入、删除等。

顺序表的插入和删除:需要移动元素,存在优缺点。

线性表的应用:如线性表的合并等。

第三章 栈和队列

栈的类型定义:栈是限制在表的一端进行插入和删除运算的线性表。

栈的特点:后进先出(LIFO)。

队列的类型定义:队列是限定在表的一端进行插入,在表的另一端进行删除的线性表。

队列特点:先进先出(FIFO)。

第四章 串、数组和广义表

串的定义:串是一个有穷字符序列。

广义表的定义:广义表是n个元素的有限序列,其中元素可以是原子项或子表。

广义表的两个重要运算:取表头和取表尾。

第五章 树和二叉树

树的基本术语和定义:树是n个结点的有限集,其中有一个特定的结点为根,其余结点形成m个互不相交的子树。

二叉树的定义和性质:二叉树是每个结点至多有二棵子树的树结构。具有特定的性质如结点的度、深度等。

完全二叉树的定义和特点:完全二叉树是深度为h的二叉树,其叶子结点只可能在层次最大的两层上出现。具有特定的遍历方式和性质。

遍历二叉树的方法:先序遍历、中序遍历和后序遍历。

先序遍历

A.B.E.F.I.G.C.D.H.J.K.L.N.O.M

后序遍历

E.I.F.G.B.C.J.K.N.O.L.M.H.D.A (P105贴纸(2))

层次遍历

A.B.C.D.E.F.G.H.I.J.K.L.M.N.O

赫夫曼树遍历

例:对于给定的权值集合 W={ 5,29,7,8,14,23,3,11 } 的遍历序列。

图的相关概念与操作

第六章 图的相关知识

图是由节点(或称为顶点)和边组成的集合,记为:G=(V,E),其中 V 是顶点的非空有限集,E 是边的有限集合。

有向图与无向图

无向图中,顶点的度为与每个顶点相连的边数;而有向图中,顶点的度分为入度和出度。

入度:以该顶点为头的弧的数目。

出度:以该顶点为尾的弧的数目。

还涉及路径、路径长度、回路、简单路径、简单回路、连通、连通图、连通分量等概念。

邻接表与深度优先遍历

深度优先遍历是一种用于图的遍历算法。从某一顶点出发,尽可能深地探索图的分支。当当前顶点的所有邻接点都已访问过后,算回溯到上一个顶点继续探索其未访问过的邻接点。

图的广度优先遍历

广度优先遍历与深度优先遍历不同,它从某一顶点出发,首先访问其所有未被访问过的邻接点,然后对这些邻接点进行广度优先的遍历。

图一至图四的广度和深度遍历说明...

查找算法 - 折半查找法(考图形过程)

(1)有序表 { 5,16,20,27,30,36,44,55,60,67,71 } 的折半查找过程...

排序算法 - 冒泡排序法

排序过程...

冒泡排序通过多次遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

C语言冒泡排序法实现...

include<stdio.h>

void bubbleSort(int a[], int n)

{

// 冒泡排序算法实现...

}

  • 版权说明:
  • 本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 295052769@qq.com 举报,一经查实,本站将立刻删除。