
数据结构
文章平均质量分 72
Chensay.
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串的基本操作(C语言版)
一、实验内容:①字符串匹配:②公共字符串二、实验结论:1.采用顺序结构存储串,编写一个函数substring(strl,str2),用于判定str2是否为strl的子串。[程序设计思路]设strl=“aoa…am”,str2=“bb…b”,从strl中找与b,匹配的字符 a,若a=b,则判定a+1=b…a+=b,若都相等,则结果是str2是strl的子串,否则继续比较a;之后的字符。2.设两个字符串首指针分别为strl和str2,它们的长度分别记为lenl和 len2。不失一般性,设有len1>l原创 2024-11-19 16:04:31 · 438 阅读 · 0 评论 -
排序算法(选择排序、直接插入排序、冒泡排序、二路归并排序)(C语言版)
1、插入排序:按关键字大小插入到前面已经排好序的子序列中;直接插入排序是稳定的排序,空间复杂度是O(1);最好的情况时间复杂度为O(n),最坏的时间复杂度为O(n²);2、冒泡排序:时间复杂度T(n)=O(n²);空间复杂度S(n)=O(1);3、选择排序:每次从当前待排序的记录中选取关键字最小的记录表,然后与待排序的记录序列中的第一个记录进行交换,直到整个记录序列有序为止。简单选择排序:时间复杂度是T(n)=O(n²),空间复杂度是S(n)=O(1);是不稳定的;原创 2024-11-20 16:29:34 · 774 阅读 · 0 评论 -
栈和队列的基本操作(C语言版)
线性表链式存储结构,它不需要用地址连续的存储单元来实现,因为它不要求逻辑上相邻的两个数据元素在物理上也相邻,它是通过“链”建立起数据元素之间的逻辑关系的,因此对线性表的插入、删除不需要移动数据元素。原创 2024-11-20 16:42:53 · 362 阅读 · 0 评论 -
字符串的基本操作(C语言版)
程序为找最长的公共子串,考虑找指定长度的所有公共子串的子问题。在指定长度从len2开始逐一递减的寻找过程中,一旦找到了公共子串,程序最先找到的公共字符串就是最长公共子串。1.采用顺序结构存储串,编写一个函数substring(strl,str2),用于判定str2是否为strl的子串。设strl=“aoa…b”,从strl中找与b,匹配的字符 a,若a=b,则判定a+1=b…a+=b,若都相等,则结果是str2是strl的子串,否则继续比较a;n为串的长度,表示串中所包含的字符个数,当n=0时,称为空串。原创 2024-11-20 17:06:08 · 597 阅读 · 0 评论 -
数据结构【查找】
11、散列查找性能分析:尽管散列表在关键字与记录的存储地址之间建立了直接映象,但由于“冲突”,查找过程仍是一个给定值与关键字进行比较的过程,评价哈希查找效率仍要用ASL;2、哈希表:应用哈希函数,由记录的关键字确定记录在表中的地址,并将记录放入此地址,然后构成的表(里头是数据对应着地址位);1、定义:在实施查找的同时,插入查找表中不存在的记录,或从查找表中删除已存在的某个记录,查找表称为动态查找表;2、二叉排序树的查找:找最大值即为右子树最后的结点值,找最小值即左节点最后的结点值;或为空,或具有以下性质;原创 2023-07-25 13:14:17 · 338 阅读 · 0 评论 -
数据结构【排序】
空间复杂度是O(1),代表其算法所需的辅助空间不依赖问题规模,则该排序方法为就地排序,否则就是非就地排序;性能分析:时间复杂度O(d(n+r)),空间复杂度为O(n+r),其中d为关键字位数,每位有r种取值,排序的趟数是d;2.其他细节:经过一次排序,能够保证一个关键字到达最终位置,这样的排序是交换的两类(冒泡、快速)和选择的两种(简单选择 堆);2.简单选择排序:时间复杂度是T(n)=O(n²),空间复杂度是S(n)=O(1);4.排序的分类:待排序的记录数不太多时为内部排序,反之为外部排序。原创 2023-07-25 12:59:39 · 895 阅读 · 0 评论 -
数据结构【图】
8.对有向图G=(V,E),若存在vi∈V ,图G中以vi作为起点的有向边(弧)的数目称为顶点vi的出度(Outdegree),记为OD(vi);以vi作为终点的有向边(弧)的数目称为顶点的入度(Indegree),记为ID(vi)。顶点的度、入度、出度:对于无向图G=(V,E),VvieV,图G中依附于的边的数目称为顶点的度(degree),记为TD(vi)。7.顶点的邻接(Adjacent):对于无向图G=(V,E),若边(v,w)EE,则称顶点v和w互为邻接点,即v和w相邻接。n ,e为图的边数。原创 2023-07-25 12:49:09 · 809 阅读 · 0 评论 -
数据结构【树】
1.定义:另外一种树形结构,每个结点最多只有两棵子树(不存在度大于2的结点),且子树有左右之分,次序不可随意颠倒;4.完全二叉树:简单来说,与满二叉树的结构不同就在于,完全二叉树可以不满;也就是说完全二叉树是满二叉树的一部分,而满二叉树是完全二叉树的特例;2、度为2的数不包含空树,而二叉树是可以有空树的;总之,二叉树的定义要比度为2的树定义更为严格,更为详细。1、度为2的树是不区分左子树和右子树.而二叉树是要分左子树和右子树的;3.树和森林的遍历(看树和森林的遍历与二叉树遍历的关系就懂了);原创 2023-07-25 12:31:14 · 299 阅读 · 0 评论 -
数据结构【数组、串、广义表】
1.概念:特殊的线性表,数据元素是仅是一个字符组成,所以串是由0个或多个字符组成的有限序列;无元素叫空串(空格串不是空串),包含子串的叫主串,默认以1开头;时线性表的推广,由于有两种数据元素,所以需要两种结构的结点,表结点和原子结点;1.概念:线性表是通过数组实现的,数组是线性表的推广,数组只有存取元素和修改元素的操作(除了初始化和销毁);2.数组的存储结构:一个数组的所有元素在内存中占用一段连续的存储空间(顺序存储);3.子串:串中任意连续字符组成的子序列,空串是任意串的子串,任意串是其自身的子串;原创 2023-07-25 12:10:20 · 544 阅读 · 0 评论 -
数据结构【线性表】
线性表的定义:具有相同属性数据类型的数据元素组成的一个有限序列;除第一个元素外的元素都有直接前驱,除最后一个元素外的元素都有直接后继;存在一个唯一被称为“第一个”的元素,和唯一被称为“最后一个”的元素。原创 2023-07-25 11:36:12 · 1267 阅读 · 0 评论 -
数据结构【绪论】
程序=数据结构+算法。原创 2023-07-25 09:29:44 · 637 阅读 · 0 评论 -
算法的效率—什么是时间复杂度和空间复杂度
时间复杂度和空间复杂度背景:算法时间开销问题与机器性能、编程语言的执行效率和编程程序产生的机器指令质量有关。因此如果仅仅用事后统计法(运行结束后再统计)是不可靠的。算法时间复杂性事前预估算法的时间开销T(n)与问题规模大小n的关系(T表示“time”时间);表达式:T(n)=3n+3;(通常保留最高阶)T(n)=3n=O(n);(大O表示同阶,同等数量级)T₂(n)=O(n²)…以此类推PS:常见的数值比较O(1)<O(log₂n)<O(nlog₂n)<O(n²)<原创 2022-03-01 20:34:12 · 245 阅读 · 0 评论 -
什么是数据结构
初步认识数据结构和它的三要素关于数据结构什么是数据?信息的载体,描述客观事物属性的数,字符、二进制0、1和处理符号的集合。是所有计算机程序的基础。什么是数据元素、数据项?一个数据元素可由多个数据项组成,数据项是组成数据元素必备的最小的单位,数据元素是数据的基本单位。什么是数据结构和数据对象?数据结构:强调各个元素之间之间有关系;数据对象:强调数据元素之间具有相同性质。数据结构三要素 - 逻辑结构 - 物理结构会影响存储空间分配的方便长程度还有对数据运算的速度。只有确定的存储结原创 2022-02-27 19:01:22 · 497 阅读 · 0 评论 -
数据结构三 栈和队列(王晓东版)
三、栈和队列(后进先出表、先进先出表)3.1概念栈:最先进栈的元素会被排到最后,要想对其就行修改,那最后进去的会先进行操作;表首为栈顶,表尾栈底;不含任何元素为空栈。队列:一种特殊的表,出队列(删除)会从第一个进的开始出,进队列(插入)会排到第一个后面。栈的运算类型含义StackEmpty(S)测试栈S是否为空StackFull(S)测试栈S是否已满StackTop(S)返回栈S的栈顶元素Push(x,S)将元素x入栈Pop(S)抛栈(删除栈顶原创 2022-02-20 19:00:22 · 185 阅读 · 0 评论 -
数据结构二 表(王晓东版)
二、表2.1概念表(线性表),是由n个同类型的元素组成的有限序列;元素个数为表长度;n=0为空表;类型(k为元素在表L的位置,x为L表的元素之一)类型含义ListEmpty(L)测试表L是否为空表ListLength(L)测表长度ListLocate(x,L)找元素x在表L的位置(多x情况返回到第一个x那里)ListRetrieve(k,L)找L表里k处的元素(无k,则无定义)ListInsert(k,x,L)在L表里k的位置后插入元素x(其他原创 2022-02-19 16:58:24 · 542 阅读 · 0 评论 -
数据结构一 引论(王晓东版)
一、数据结构引论1.1算法以及复杂的概念1.1.1算法与程序原创 2022-02-16 18:06:37 · 642 阅读 · 0 评论