![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构(C语言版 第2版)
文章平均质量分 96
小李的便利店
这个作者很懒,什么都没留下…
展开
-
第八章 排序
排序排序(Sorting)是按关键字的非递减或非递增顺序对一组记录重新进行排列的操作。排序的稳定性若在排序后的序列中Ri仍领先于Rj,则称所用的排序方法是稳定的;反之,若可能使排序后的序列中Rj领先于Ri,则称所用的排序方法是不稳定的。内部排序和外部排序由于待排序记录的数量不同,使得排序过程中数据所占用的存储设备会有所不同。根据在排序过程中记录所占用的存储设备,可将排序方法分为两大类:一类是内部排序,指的是待排序记录全部存放在计算机内存中进行排序的过程;另一类是外部排序。原创 2024-02-15 19:27:45 · 1225 阅读 · 0 评论 -
第七章 查找
假设给定值key = 38,则先将key依次和索引表中各分块的最大关键字进行比较,因为22<key<48,则关键字为38的记录若存在,必定在第二个子表中。由于块内是无序的,故插入和删除比较容易,无须进行大量移动。顺序查找(Sequential Search)的查找过程为:从表的一端开始,依次将记录的关键字和给定值进行比较,若某个记录的关键字和给定值相等,则查找成功;(Hash Search)的思想,它通过对元素的关键字值进行某种运算,直接求出元素的地址,即使用关键字到地址的直接转换方法,而不需要反复比较。原创 2024-02-04 16:51:22 · 848 阅读 · 0 评论 -
第六章 图
图(Graph)G由两个集合V和E组成,记为G = (V, E),其中V是顶点的有穷非空集合,E是V 中顶点偶对的有穷集合,这些顶点偶对称为边。V(G)和E(G)通常分别表示图G的顶点集合和边集合,E(G)可以为空集。若E(G)为空,则图G只有顶点而没有边。对于图G,若边集E(G)为有向边的集合,则称该图为有向图;若边集E(G)为无向边的集合,则称该图为无向图。在有向图中,顶点对<x,y>是有序的,它称为从顶点x到顶点y的一条有向边。因此,<x,y>与<y,x>是不同的两条边。原创 2024-02-02 16:35:24 · 937 阅读 · 0 评论 -
第五章 树和二叉树
树(Tree)是n(n≥0)个节点的有限集,它或为空树(n = 0),或为非空树。有且仅有一个称之为根的节点;除根节点以外的其余节点可分为m(m>0)个互不相交的有限集T1, T2, …, Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。树的结构定义是一个递归的定义,即在树的定义中又用到树的定义,它道出了树的固有特性。树还可有其他表示形式,图5.2所示为图5.1(b)中树的各种表示。原创 2024-01-31 17:02:07 · 845 阅读 · 0 评论 -
第四章 串、数组和广义表
串或字符串(string)是由零个或多个字符组成的有限序列,一般记为 s=“a1 a2 … an” (n≥0)其中,s是串的名,用双引号标识的字符序列是串的值;可以是字母、数字或其他字符;串中字符的数目n称为串的长度。零个字符的串称为空串(null string),其长度为0。串中任意个连续的字符组成的子序列称为该串的子串,包含子串的串相应地称为主串。通常称字符在序列中的序号为该字符在串中的位置。子串在主串中的位置则以子串的第一个字符在主串中的位置来表示。当且仅当两个串的值相等,称这两个串是相等。原创 2024-01-27 17:48:19 · 897 阅读 · 0 评论 -
第三章 栈和队列
栈(stack)是限定仅在表尾进行插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈顶(top),相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。栈又称为后进先出(Last In First Out,LIFO)的线性表。在程序设计中,如果需要按照保存数据时相反的顺序来使用数据,则可以利用栈来实现。和栈相反,队列(queue)是一种先进先出(First In First Out,FIFO)的线性表。它只允许在表的一端进行插入,而在另一端删除元素。原创 2024-01-25 17:14:24 · 862 阅读 · 0 评论 -
第二章 线性表
由n(n≥0)个数据特性相同的元素构成的有限序列,称为线性表。线性表中元素的个数n(n≥0)定义为线性表的长度,当n=0时称之为空表。存在唯一的一个被称作”第一个“的数据元素存在唯一的一个被称作”最后一个“的数据元素除第一个元素之外,结构中的每个数据元素均只有一个前驱;除最后一个元素之外,结构中的每个数据元素均只有一个后继。线性表链式存储结构的特点是:用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。原创 2024-01-24 17:36:04 · 767 阅读 · 0 评论 -
第一章 绪论
算法(Algorithm)是为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足以下5个重要特性。有穷性。一个算法必须总是在执行有穷步后结束,且每一步都必须在有穷时间内完成。确定性。对于每种情况下所应执行的操作,在算法中都有确切的规定,不会产生二义性,算法的执行者或阅读者都能明确其含义及如何执行。可行性。算法中的所有操作都可以通过将已经实现的基本操作运算执行有限次来实现。输入。一个算法有0个或多个输入。输出。一个算法有一个或多个输出。原创 2024-01-23 16:09:05 · 740 阅读 · 0 评论