数据结构
文章平均质量分 77
樱桃气质丸
这个作者很懒,什么都没留下…
展开
-
数据结构(排序)2021-06-13
数据结构C语言版 第八章 排序内部排序1、插入排序 :直接插入排序、折半插入排序、希尔排序2、交换排序: 冒泡排序、快速排序、3、选择排序: 简单选择排序、树形选择排序、堆排序时间复杂度都为平均时间复杂度直接插入排序:从初始关键字开始,每次加入一个新的关键字,直接与前面的关键字进行有序比较并插入到合适位置。(扩大有序记录,把新扩入的关键字直接插入到合适位置)时间复杂度O(n2) 空间复杂度 O(1)折半插入排序:与直接插入类似,区别在于直接插入是通过顺序查找法在已排好的序列中寻找合适的插入位置原创 2021-06-13 13:52:33 · 2392 阅读 · 0 评论 -
2021-05-27数据结构从零开始代码实现
数据结构代码实现 (摸索)顺序表单链表(结点方式)顺序表通常用数组来描述数据结构中顺序存储结构(顺序表是基于数组实现的)。疑惑1:数据结构书本上的伪代码顺序表的存储结构:#idefine MAXSIZE 100typedef struct{ ElemType *elem; int length;}SqList;顺序表的初始化:Status InitList(SqList &L){//构造一个空的顺序表L L.elem=new ElemType[MAXSIZE]; i原创 2021-05-27 18:03:56 · 72 阅读 · 0 评论 -
数据结构数组存储地址问题 (看了不可能不会)2021-05-13
数据结构数组存储问题求解数组元素存储位置一般数组不做插入和删除操作,一旦建立了数组,则结构中的数据元素个数和元素之间的关系就不再发生变动,因此采用顺序存储结构表示数组比较合适。对二维数组有两种存储方式 1、行序为主序的存储方式 (行优先)2、列序为主序的存储方式 列优先b[0][0] b[0][1] b[0][2] b[0][3]b[1][0] b[1][1] b[1][2] b[1][3]上边是一个二维数组b[2][3] 下标从0开始,2行3列,下面是这个二维数组以行优原创 2021-05-14 21:52:13 · 9422 阅读 · 13 评论 -
C语言数据结构串的KMP
关于串的BF算法和KMP算法(王道)BF匹配算法(朴素模式匹配算法)BF算法核心就是用模式串T和主串S对比,如果从主串S的第一个字符出发,往后m个字符都与模式串对比(m为模式串的长度)即,模式串从主串的第一个字符开始匹配,如果都匹配就返回k(匹配的字符的第一个位置),如果不匹配,就把主串后移一位,模式串回到第一个字符,开始重新匹配,如上图所示。BF缺点BF 算法的缺点,如果匹配成功往前匹配了m个字符,然后遇到不匹配的就会倒退m-1个字符。主串和模式串中,只有部分能匹配成功,很明显在匹配成功的“原创 2021-04-25 00:18:39 · 1315 阅读 · 1 评论