
数据结构与算法
文章平均质量分 64
程序媛脱发记
这个作者很懒,什么都没留下…
展开
-
【4.1树和二叉树 】
二叉树的抽象数据类型定义ADT BinaryTree{数据对象:具有相同性质的数据元素的集合数据关系:基本操作:CreateBiTree(&T,definition )…}原创 2022-03-27 18:49:10 · 609 阅读 · 0 评论 -
【3.2数组】
数组的介绍按照一定格式排列起来的具有相同类型的数据元素的集合。声明格式:数组名[长度]。二维数组:若一维数组中的任意一个元素又是一个一维数组,则成为二维数组。二维数组的逻辑结构:非线性结构:每一个元素既在一个行表中又在一个列表中。线性结构:该线性表的每个数据元素也是一个定长的线性表。数组特点 结构固定,定义后维度不变。数组的基本操作:除了结构的初始化和销毁之外,只有取元素和修改元素值的操作。数组的定义数组的声明:数组类型 变量名[行数][列数];数组的定义:typedef ele原创 2022-03-26 19:57:18 · 352 阅读 · 0 评论 -
【3.1串】
串的存储结构顺序存储结构顺序串的定义 #def MAXLEN 255 typedef struct { char ch[MAXLEN+1]; int length; //表示串的长度 }SString;注意:串的存储内容必须是字符型链式存储结构传统链式存储结构存在存储密度低的缺点,为了克服这种缺点,在串的存储中,使用一个结点存储多个字符的方式来提高存储密度。形成的存储结构叫块链结构。块链存储结构的定义 typedef Chunk{ char ch[Chunk]原创 2022-03-26 17:03:25 · 329 阅读 · 0 评论 -
【3 栈和队列】
栈和队列的定义和特点栈和队列是限定插入和删除只能在表的“端点”进行的线性表。栈:插入和删除只能在表尾进行,特点:先进后出。队列:插入在表尾插入,删除在表头删除。特点:先进先出。栈是一个特殊的线性表,是限定尽在一端(通常是表尾)进行插入和删除操作的线性表。又称后进先出的线性表,简称LIFO(Last In First Out)结构。表尾称为栈顶top,表头称为栈底base。在栈中插入元素的操作,插入到栈顶(表尾),叫入栈(压栈)。从栈顶删除一个元素叫出栈(弹栈 )。栈的抽象数据类型的定义原创 2022-03-25 22:27:14 · 1322 阅读 · 0 评论 -
【1.3线性表】
线性表线性表的定义和特征定义:线性表是具有相同特性的数据元素的一个有限序列特征:线性表中的数据元素最多有一个直接前趋和一个直接后继;线性表中的所有数据都具有相同特性;线性起点没有直接前趋,线性终点没有直接后继。线性表的类型定义抽象类型线性表的定义:ADT list{数据对象:D={$a_i$|$a_i$属于Elemset,(i=1,2,...,n,n>=0)}数据关系:R={<$a_{i-1},a_i$>|$a_{i-1},a_i$属于D,(i=1,2,...,n原创 2022-03-24 21:36:56 · 1097 阅读 · 0 评论 -
【1.2算法的定义、描述和分析】
算法的定义对特定问题求解方法和步骤的一种描述,他是指令的有限序列。其中每个指令表示一个或多个操作。经典问题:要把大象装冰箱拢共分几步?第一步:把冰箱门打开第二步:把大象装进去第三步:把冰箱门关上算法的描述自然语言:英文、中文流程图:传统流程图、NS流程图伪代码:类C语言程序代码:C语言、JAVA语言…算法与程序的关系算法是解决问题的一种或者多种方法,考虑如何将输入转换成输出,一个问题可以有多种算法。程序是用某种程序设计语言对算法的具体实现。程序=数据结构+算法数原创 2022-02-26 21:26:11 · 234 阅读 · 0 评论 -
【1.1数据结构】
数据类型和抽象数据类型数据类型一组性质相同的值得集合以及定义在这个值的集合上的一组操作的总称数据类型的作用约束变量或者常量的取值范围约束变量或者常量的操作抽象数据类型一种数据类型以及定义在这种数据类型上的一组操作。由用户定义,从具体问题抽象出来的数据模型(逻辑解雇)还包括定义在数据模型上的一组抽象运算(相关操作)不考虑计算机内的具体存储结构与运算的具体实现算法。例如:数据类型:圆 (到某个点的距离相等的点的集合)操作:构造圆、求面积、求周长抽象数据类型的形式定义抽象原创 2022-02-26 19:50:58 · 415 阅读 · 0 评论