数据结构
文章平均质量分 93
提刀立码,调参炼丹
这个作者很懒,什么都没留下…
展开
-
详解数据结构:字符串
串:又称字符串,是由零个或多个字符组成的有限序列。字符串通常用双引号括起来,例如S=”abcdefg”,S为字符串的名字,双引号里面的内容为字符串的值。串长:串中字符的个数,例如S的串长为6。空串:零个字符的串,串长为0。子串:串中任意个连续的字符串组成的子序列,称为该串的子串,原串称为子串的主串。子串在主串中的位置,用子串的第一个字符串在主串中出现的位置表示。注意:空格也算一个字符。空格串:全部由空格组成的串为空格串。注意:空格串不是空串。字符串的存储可以使用顺序存储和链式存储两种方式。原创 2024-04-27 19:59:31 · 707 阅读 · 0 评论 -
详解数据结构:队列(含栈与队列扩展)
双端队列可以用两个整型变量front和rear分别指向队头和队尾,采用顺序存储。//一维数组存储,也可以设置指针动态分配空间//头指针,尾指针}DuQueue;注意:在顺序存储中,静态分配空间采用的是以为定长数组存储数据,动态分配空间是在程序运行中使用new动态分配空间。完美图解(1)前端进队时,先令Q.front前移一位,再将元素放入Q.front的位置,a、b、c依次从前端进队。(2)后端进队时,先将元素放入Q.rear的位置,再令Q.rear后移动一位,d从后端进队。原创 2024-04-23 11:28:14 · 1172 阅读 · 1 评论 -
详解数据结构:栈
栈顶元素所在的位置是S.top-1,因此把该元素取出来,暂存在变量e中,然后S.top指针向下移动一个位置。上面的结构体定义采用了动态分配的形式,也可以采用静态分配的形式,使用一个长数组存储数据元素,一个整型下标记录栈顶元素的位置。顺序栈本身是顺序存储的,有人就想:我偏要从中间取一个元素,这也是可以的,但这样做,这就不是栈了。顺序栈是分配一段连续的空间,需要两个指针:base指向栈底,top指向栈顶,而链栈每个节点的地址都不连续,只需要一个栈顶指针即可。而出栈是指删除栈顶元素,栈顶指针指向了下一个元素。原创 2024-04-20 12:28:36 · 807 阅读 · 0 评论 -
《数据结构》第八章:图
在图中,通常将数据元素称为。原创 2024-01-27 21:58:51 · 1288 阅读 · 0 评论 -
数据结构笔记(二)
空间复杂度S(n)——根据算法写成的程序在执行时占用存储单元的长度。这个长度往往与输入数据的规模有关。空间复杂度过高的算法可能导致使用的内存超限,造成程序非正查岗中断。时间复杂度T(n)——根据算法写成的程序在执行时耗费时间的长度。这个长度往往也与输入数据的规模有关。时间复杂度过高的低效算法可能导致我们在有生之年都等不到运行结果。此时PrintN(100000)......PrintN(0)占用空间S(N)=C·Nint i;for(i=1;原创 2023-11-06 20:11:16 · 33 阅读 · 0 评论 -
数据结构笔记(一)
clock():捕捉从程序开始运行到clock()被调用时所需要耗费的事件。这个时间单位是clock tick,即“时钟打点”。常数CLK_TCK:机器时钟每秒所走的时钟打点数。//clock_t是clock()函数返回的变量类型//记录被测函数的运行时间,以秒为单位int main()//不在测试返回内的准备工作写在clock()调用之前//调用函数//其他不在测试范围内的处理写在后面,例如输出duration的值return 0;原创 2023-11-02 18:49:38 · 65 阅读 · 0 评论 -
《数据结构》第三章:排序基础
count[i]是对值i的计数,pos[i]是值为i的子序列的起始位置。先按最主位关键字k0进行排序,得到若干子序列,其中每个子序列中的记录都含相同的k0值,之后分别对每个子序列按关键字k1进行排序,致使k1值相同的记录构成长度更短的子序列,依次重复,直到对每个子序列按km-1从小到大排序,最后由这些子序列依次相连所得序列便是排序的最后结果。例如,一组关键字(337,332,132,267,262,164,260,167)的8个记录序列进行低位优先的计数基数排序,需要三趟“分配”和“收集”。原创 2023-12-06 17:20:05 · 999 阅读 · 1 评论 -
《数据结构》第二章 线性数据结构
(简称)是包含n个相同性质数据元素的有限序列。它的基本特征是,在数据元素的非空有限集中,(1)存在唯一的“最后的元素”。(2)存在唯一的“第一个元素”。(3)除最后的元素之外,其它数据元素均匀位移的“直接后继”。(4)出第一个元素之外,其它数据元素均有唯一的“直接前驱”。在线性结构中,数据元素的前后关系是“一对一”的,即线性关系。一个元素的前面的第一个元素叫做这个元素的“”,后面的第一个元素叫做这个元素的“原创 2023-11-26 20:01:11 · 985 阅读 · 1 评论 -
《数据结构》第四章:哈希表
假设8个关键字22,41,53,,46,30,13,12,67,哈希表的地址区间长度为11,哈希函数为H(key)= (3*key)%11,若需要删除关键字为30的记录,计算得到的哈希地址为2,该单元的值为41,不是30;先取关键字的平方,然后根据哈希表地址区间长度m的大小,选取平方数的中间若干位作为哈希地址。还是上面8个关键字22,41,53,,46,30,13,12,67,哈希表的地址长度为11,哈希函数仍为H(key)= (3*key)%11,但采用二次探测法处理冲突,可求得各关键字的哈希地址.原创 2023-12-09 21:26:57 · 1201 阅读 · 0 评论 -
《数据结构》第五章:递归
(Generalized List)一般记作其中,α1既可以是不再细分的元素,也是广义表,分别称为广义表L的原子和子表。原创 2024-01-10 13:28:31 · 936 阅读 · 0 评论 -
《数据结构》第一章 绪论
抽象是对一类事物或一个系统的简化描述,它舍弃个别的、非本质的属性,抽取共同的、本质的属性,是形成概念的必要手段。抽象涉及对一个或一组对象的本质属性的发现和命名。人的记忆分为短期记忆和长期记忆两个阶段,在短期记忆中,记住事物的细节的能力是很有限的,这对人的智力是极大的限制。对事物抽象的结果往往表现为发现对象的。结构是各个组成部分的搭配和排列,可以形式地表示为各成分之间的关系。和是人们克服复杂性的重要认知形式。在认识事物时,对结构的分解和合成十分重要。原创 2023-11-16 20:47:52 · 212 阅读 · 1 评论 -
《数据结构》第七章:树和森林
是含有n个结点的有限集合。原创 2024-01-18 15:13:09 · 1205 阅读 · 0 评论 -
《数据结构》第六章:二叉树
是含有n(n≥0)个结点的有限结合。当n=0时称为空二叉树。原创 2024-01-13 13:24:21 · 1013 阅读 · 0 评论