数据结构
文章平均质量分 73
_Mint.
Stay Hungry Stay Foolish
展开
-
基本排序算法
文章目录插入排序直接插入排序折半插入排序希尔排序交换排序冒泡排序快速排序选择排序简单选择排序堆排序构造初始堆输出堆顶元素并调整堆归并排序和基数排序归并排序基数排序外部排序多路平衡归并与败者树置换-选择排序最佳归并树插入排序插入排序的思想是:每次将一个待排序的记录按其关键字大小,插入前面已经排好的子序列,直到全部记录插入完成。由插入排序的思想可以引申出三个排序算法:直接插入排序折半插入排序希尔排序直接插入排序假设在排序过程中,待排序表L[1…n]在某次排序过程中的某一时刻状态如下:原创 2022-05-31 19:47:15 · 577 阅读 · 0 评论 -
数据结构_串
串串的逻辑结构字符串,简称串。串是由零个或多个字符组成的有限序列。一般记为:S=′a1a2...an′(n>=0)S = 'a_1a_2...a_n' (n >= 0)S=′a1a2...an′(n>=0)串中字符的个数n称为串的长度。n = 0 时的串成为空串 (用空集符号⌀表示,注意空格串不是空串)**子串:**串中任意多个连续的字符组成的子序列称为该串的子串,包含子串的串称为主串。串的逻辑结构和线性表即为相似,区别仅在于串的数据对象限定为字符集。在基本操作原创 2022-05-29 21:06:20 · 1888 阅读 · 0 评论 -
栈、队列、数组
栈和队列是操作受限的线性表,因此不是任何对线性表的操作都可以作为栈和队列的操作。比如,不可以随便读取栈或队列中间的某个数据。栈我们每一次接触到一个新的数据结构都应该分别从其逻辑结构、存储结构和数据的运算三个方面进行分析。栈的逻辑结构后进先出(LIFO)的受限线性表。栈的数学性质n个不同元素入栈,出栈元素不同排列的个数为卡特兰数C2nn/(n+1)C^n_{2n}/(n+1)C2nn/(n+1)栈的存储结构顺序栈顺序栈只能发生上溢,因为栈的插入和删除操作都是在栈顶进行的。实.原创 2022-05-28 17:48:07 · 474 阅读 · 0 评论 -
第二章-线性表
线性表的定义和基本操作线性表的特点:表中元素个数是有限的。表中元素具有逻辑上的顺序性,表中元素有其先后次序。表中元素都是数据元素,每个元素都是单个元素。表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空间。线性表是逻辑结构,具有抽象性。线性表的基本操作:需要自己动手去写!!!线性表的存储结构顺序存储1.线性表的顺序存储结构是一种随机存取的存储结构。2.线性表的顺序存储结构的一维数组可以是静态分配的,也可以是动态分配的。基本操作增删插(按值查找和按位查找)原创 2022-05-25 20:15:08 · 277 阅读 · 0 评论 -
第一章-绪论
数据结构的三要素逻辑结构线性结构一般线性表受限线性表栈和队列串线性表推广数组非线性结构集合树形结构一般树二叉树图状结构有向图无向图存储结构顺序存储链式存储索引存储散列存储数据的运算数据的运算包括运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能。运算的实现是针对存储结构的,指出运算的具体操作步骤。算法和算法评价时间复杂度空间复杂度杂碎知识点:1.算法原地工作:指算法所需的辅助空间为常量。原创 2022-05-25 17:28:06 · 168 阅读 · 0 评论