![](https://img-blog.csdnimg.cn/20191205184529179.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
彼年〕生若夏花
这个作者很懒,什么都没留下…
展开
-
第九章:内部排序
排序:将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。稳定性——若两个记录A和B的关键字值相等,且排序后A、B的先后次序保持不变,则称这种排序算法是稳定的。1.插入排序思想:每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。简言之,边插入边排序,保证子序列中随时都是排好序的。1)直接插入排序...原创 2019-12-10 21:08:11 · 324 阅读 · 0 评论 -
第八章:查找
查找表是称为集合的数据结构。是元素间约束力最差的数据结构:元素间的关系是元素仅共在同一个集合中。(同一类型的数据元素构成的集合)1.静态查找表1)顺序查找(线性查找)技巧:把待查关键字key存入表头或表尾(俗称“哨兵”),这样可以加快执行速度。int Search_Seq( SSTableST , KeyTypekey ){ST.elem[0].key =key...原创 2019-12-10 21:01:25 · 247 阅读 · 0 评论 -
第七章 图
1.图的定义,概念、术语及基本操作1)图的定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成;通常表示为:G(V,E),G表示一个图,V是图G中顶点的集合,E是图G中边的集合;注意:在图中数据元素称之为顶点(Vertex),而且顶点集合有穷非空;在图中任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示。2)图的分类按照有无方向,分为无向图和有向图;...转载 2019-12-08 22:42:17 · 389 阅读 · 0 评论 -
第六章:树和二叉树
1.树:是n(n≥0)个结点的有限集。(1)有且仅有一个特定的称为根(root)的结点;(2)当n>1时,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2,…,Tm。每个集合本身又是棵树,被称作这个根的子树 。2.二叉树:是n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。二叉树的性质,存储结构。性质1: 在二叉树的第i层上...原创 2019-12-07 20:41:22 · 315 阅读 · 0 评论 -
第四章:串
1.串是数据元素为字符的线性表,串的定义及操作。串即字符串,是由零个或多个字符组成的有限序列,是数据元素为单个字符的特殊线性表。串比较:int strcmp(char *s1,char *s2);求串长:int strlen(char *s);串连接:charstrcat(char *to,char *...原创 2019-12-07 20:31:37 · 411 阅读 · 0 评论 -
第三章:栈和队列
1.栈:限定仅在表尾进行插入或删除操作的线性表。栈的基本操作:在栈顶进行插入或删除,栈的初始化、判空及取栈顶元素等。入栈口诀:堆栈指针top “先压后加”出栈口诀:堆栈指针top “先减后弹”top=0表示空栈。2.栈的表示和实现1)构造一个空栈SStatus InitStack(SqStack &S){S...原创 2019-12-05 19:08:58 · 1055 阅读 · 0 评论 -
第二章:线性表
学习重点:线性表的逻辑结构,指线性表的数据元素间存在着线性关系。在顺序存储结构中,元素存储的先后位置反映出这种线性关系,而在链式存储结构中,是靠指针来反映这种关系的。顺序存储结构用一维数组表示,给定下标,可以存取相应元素,属于随机存取的存储结构。链表操作中应注意不要使链意外“断开”。因此,若在某结点前插入一个元素,或删除某元素,必须知道该元素的前驱结点的指针。掌握通过画出结点图来进...原创 2019-12-05 18:56:15 · 321 阅读 · 0 评论 -
第一章:绪论
1.数据结构:是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科。2.数据结构涵盖的内容:3.基本概念和术语:数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象:性质相同的数据元素的集合,是数据的一个子集。数据...原创 2019-12-05 18:48:15 · 327 阅读 · 1 评论