![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Change_Improve
这个作者很懒,什么都没留下…
展开
-
数据结构—排序(第九章)
排序:假设含有 n 个记录的序列为 ,其相应的关键字分别为 ,需确定 的一种排列 ,使其相应的关键字满足 ( 非递减或非递增 )关系,即使得序列成为 一个按关键字有序的序列 ,这样的操作就称为排序。相信大家都有着极其丰富的网上购物的经验,现在网上购物已经非常成熟,对用户来说带来了很大的方便。假如我想买一台 iPhone4 的手机,于是上了某电子商务网站去搜索。可搜索后发现(...原创 2020-02-29 21:29:57 · 1990 阅读 · 0 评论 -
数据结构—查找(第八章)
查找:查找( Searching )就是根据给定的某个值,在查找表中确定一个关键字等于给定值的数据元素(或记录)。相信能看到这篇博客的人都用过搜索引擎。那么,你知道它的大概工作原理吗?当你精心制作了一个网页、或写了一篇博客、或者上传一组照片到互联网上,来自世界各地的无数 “蜘蛛” 便会蜂拥而至。所谓蜘蛛就是搜索引擎公司服务器上的软件,它如同蜘蛛一样把互联网当成了蜘蛛网,没日没夜的访问...原创 2020-02-18 22:07:55 · 2346 阅读 · 1 评论 -
数据结构—串-基本知识点(第五章)
目录1. 串的定义2. 串的比较3. 串的抽象数据类型4. 串的存储结构4.1 串的顺序存储结构4.2 串的链式存储结构5. 朴素的模式匹配算法6. KMP模式匹配算法1. KMP模式匹配算法原理2. next数组值推荐3. KMP模式匹配算法实现4. KMP模式匹配算法改进5. nextval数组值推导7. 总结串:串(string)...原创 2020-01-15 20:00:56 · 2629 阅读 · 0 评论 -
栈的链式存储结构相关操作详细代码
数据结构—栈基本知识点在这篇博客中介绍了栈的基本知识点,现在我们用C将这些基本操作都实现一下。InitLinkStack(**S):初始化栈CreateLinkStack(*S):创建栈LengthLinkStack(*S):输出栈的元素个数OutTop(*S):输出栈顶元素Push(*S):入栈操作,将元素e插入到栈顶Pop(*S,*e):出栈操作,删除栈顶元素,并返回其值Out...原创 2019-12-07 16:29:28 · 896 阅读 · 0 评论 -
栈的顺序存储结构相关操作详细代码
数据结构—栈与队列基本知识点在这篇博客中介绍了顺序表(线性表)的基本知识点,现在我们用C将这些基本操作都实现一下。InitStack(**S):初始化栈CreateStack(*S):创建栈LengthStack(*S):输出栈的元素个数OutTop(*S):输出栈顶元素Push(*S):入栈操作,将元素e插入到栈顶Pop(*S,*e):出栈操作,删除栈顶元素,并返回其值OutVa...原创 2019-12-06 18:52:43 · 1018 阅读 · 0 评论 -
线性表—静态链表基本操作实现代码
数据结构—线性表基本知识点—静态链表 点我 这篇博客讲解了静态链表的基本知识点,可以先看看这个了解一下基本的概念,再看下面关于静态链表的基本操作的代码,这些代码都很简单,逻辑也并不复杂,所以就不细细讲解每行代码了,代码中要注意的地方我都有注释。#include<cstdio>#define MAXSIZE 1024 //假设链表的最大长度是1024#define OK 1#d...原创 2019-12-03 18:12:03 · 624 阅读 · 0 评论 -
线性表—单链表(链式存储结构)基本操作实现代码
数据结构—线性表基本知识点在这篇博客中介绍了单链表(线性表)的基本知识点,现在我们用C将这些基本操作都实现一下。InitList():初始化操作,创建头结点Head ListInsertHead(Head):单链表的插入—头插法ListInsertTail(Head):单链表的插入—尾插法CreateListHead(Head, n):单链表的整表创建—头插法,随机产生n个元素的值,建立...原创 2019-12-01 23:23:56 · 3637 阅读 · 1 评论 -
线性表—顺序表(顺序存储)基本功能实现代码
在这篇博客中介绍了线性表的基本知识点,现在我们用C++将这些基本操作都实现一下。InitList ( *L): 初始化操作,建立一个空的线性表L。ListEmpty ( L): 若线性表为空,返回true,否则返回false。ClearList ( *L ): 将线性表清空。GetElem ( L, i,*e ): 将线性表L中的第 i 个位置元素值返回给e。LocateElem...原创 2019-11-30 12:29:48 · 1223 阅读 · 0 评论 -
数据结构—线性表(第三章)—基本知识点总结
目录1. 线性表的定义2. 线性表的抽象数据类型3.线性表的顺序存储结构3.1 顺序存储定义3.2 顺序存储方式3.3 数据长度与线性表长度区别3.4 地址计算方法4. 顺序存储结构的插入与删除4.1 获得元素操作4.2 插入操作4.3 删除操作4.4 线性表顺序存储结构的优缺点5. 线性表的链式存储结构5.1 顺序存储结构不足的解决办...原创 2019-11-27 15:53:43 · 1432 阅读 · 0 评论 -
数据结构—算法(第二章)
目录1. 算法定义:2. 算法的特性<1> 输入输出<2> 有穷性<3> 确定性<4> 可行性3. 算法设计的要求<1> 正确性<2> 可读性<3> 健壮性<4> 时间效率高和存储量低4. 算法效率的度量方法<1> ...原创 2019-11-06 18:57:09 · 943 阅读 · 0 评论 -
数据结构——图-基本知识点(第七章)
图:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。1. 图的定义在线性表中,数据元素之间是被串起来的,仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素都可能和下一层中多个元素相关...原创 2019-03-27 22:30:51 · 3882 阅读 · 1 评论 -
数据结构——树-基本知识点(第六章)
目录1. 树的定义1.1 结点分类1.2 结点间关系1.3 树的其他相关概念2. 树的抽象数据类型3. 树的存储结构3.1 双亲表示法3.2 孩子表示法3.3 孩子兄弟表示法4. 二叉树的定义4.1 二叉树特点4.2 特殊二叉树5. 二叉树的性质5.1 二叉树性质 15.2 二叉树性质 25.3 二叉树性质 35.4 二叉树性质 ...原创 2019-03-20 21:59:57 · 1111 阅读 · 0 评论 -
无向图邻接矩阵的创建
无向图的邻接矩阵:存储方式是利用两个数组来表示图。一个一维数组(Vexs)存储图中顶点信息,另一个二维数组(Edge)存储图中边的信息。首先创建邻接矩阵的结构体,变量有存放顶点信息的一维数组(Vexs),存放边的信息的二维数组(Edge),当前的顶点数和边数这四个变量,然后创建一个子函数CreateMGraph用来创建无向图的邻接矩阵,在创建一个子函数ShowpGraph用来输出创建的无向邻接...原创 2019-01-29 16:00:49 · 22551 阅读 · 9 评论 -
删除无头单链表的一个非尾结点
一个单链表很长,遍历一边很慢,我们仅知道一个指向某结点的指针pNode,而我们又想删除这个节点。思路:这个题是醉翁之意不在酒,由于我们只知道要删结点的指针pNode,而且是单链表,所以我们没法找到该结点的前驱结点,只能找到该结点的下一个结点,所以我们可以创建一个新指针pos,将其赋为pNode的下一个结点的指针,将pos的的值赋给pNode,pos的指针域的值也赋给pNode,如下图所示:...原创 2019-01-22 18:13:45 · 217 阅读 · 0 评论 -
数据结构—栈与队列-基本知识点(第四章)
栈的基本知识点,点我!目录1. 队列的定义2. 队列的抽象数据类型3. 循环队列3.1 队列顺序存储的不足3.2 循环队列定义4. 队列的链式存储结构及实现4.1 队列的链式存储结构——入队操作4.2 队列的链式存储结构——出队操作5. 总结回顾1. 队列的定义你们在用电脑时有没有经历过,机器有时会处于疑似死机的状态,鼠标点什么似乎都没用,双击...原创 2019-11-19 14:10:03 · 851 阅读 · 0 评论 -
数据结构——栈与队列-基本知识点(第四章)
队列的基本知识点,点我!目录1. 栈的定义1.1 栈的定义1.2进栈出栈变化形式2. 栈的抽象数据类型栈的顺序存储基本操作结构代码,点我3. 栈的顺序存储结构及实现3.1 栈的顺序存储结构3.2 栈的顺序存储结构——进栈操作3.3 栈的顺序存储结构——出栈操作4. 两栈共享空间5. 栈的链式存储结构及实现5.1 栈的链式存储结构栈的链式存储结...原创 2019-01-25 17:58:47 · 2456 阅读 · 1 评论 -
顺序栈的基本操作
顺序栈一些简单基本操作的实现,代码如下:#include<stdio.h>#include<stdbool.h>#define MAXSIZE 20 /*存储空间初识分配量*/typedef int SElemType;//定义SElemType表示int类型typedef struct{ SElemType data[MAXSIZ...原创 2019-01-21 17:59:14 · 1069 阅读 · 0 评论 -
单链表重复元素的删除
1.1 问题描述为了增强对单链表的熟悉,能够更加熟练地运用单链表,编写了一个单链表重复元素的删除程序。通过对该程序的实现,使我更加熟悉单链表的实现原理。1.2 问题分析用子函数实现单链表的初始化、尾插法建立单链表、重复元素的删除、输出单链表、置空单链表的功能,主函数其调用功能,功能菜单进行选择。1.3 设计分析 本次实验设计主要是增强对单链表的熟悉,能够更加熟练地运用单链表。...原创 2018-11-17 14:15:25 · 2143 阅读 · 0 评论 -
二叉树的创建和遍历
一、实验目的:1、熟悉二叉树结点的结构和对二叉树的基本操作;2、掌握对二叉树每一种操作的具体实现;3、学会递归方法和非递归方法实现二叉树的运算某重操作。 二、实验内容:1、建立一棵二叉树。2、用递归算法对二叉树进行先序、中序和后序遍历。3、用非递归算法对二叉树进行先序、中序和后序遍历。 三、实验要求: 编写实现二叉树建立和遍历的基本算法的函数,并在此...原创 2018-11-10 09:27:47 · 821 阅读 · 1 评论 -
单链表的基本操作 字符型
单链表基本操作代码这个里面更加全,点我一、实验目的:1、复习C语言程序设计中的知识。2、掌握线性表的链式存储结构的表示和实现方法。3、掌握单链表基本操作的算法实现。二、实验内容:1.建立单链表。2.在单链表上实现插入、删除和查找等操作。三、实验要求: 编写实现单链表的基本算法(初始化、查找、插入、删除等)的函数,并在此基础上设计一个主程序完成如下...原创 2018-09-26 22:36:45 · 2121 阅读 · 0 评论 -
顺序表的基本操作
一、实验目的:1、复习C语言程序设计中的知识。2、掌握线性表的顺序存储结构的表示和实现方法。3、掌握顺序表基本操作的算法实现。二、实验内容:1.建立顺序表。2.在顺序表上实现插入、删除和查找等操作。三、实验要求:编写实现顺序表的基本算法(初始化、查找、插入、删除等)的函数,并在此基础上设计一个主程序完成如下功能:⑴初始化整型顺序表L;⑵建立顺序表L,如(a,...原创 2018-09-23 16:37:43 · 1265 阅读 · 0 评论 -
单链表的基本操作
一、实验目的:1、复习C语言程序设计中的知识。2、掌握线性表的链式存储结构的表示和实现方法。3、掌握单链表基本操作的算法实现。 二、实验内容:1.建立单链表。2.在单链表上实现插入、删除和查找等操作。 三、实验要求: 编写实现单链表的基本算法(初始化、查找、插入、删除等)的函数,并在此基础上设计一个主程序完成如下功能: ⑴初始化整型单链表H;...原创 2018-09-26 21:04:25 · 856 阅读 · 0 评论 -
找出单链表倒数第四个元素
找出单链表倒数第四个元素:正常情况下:创建两个指针使两指针中间相隔两个元素,然后遍历单链表,快的指针pFast到达最后一个元素时,慢的指针pSlow此时的位置就是倒数第四个元素的位置。极端情况下:单链表元素不够四个是要输出提示语...原创 2019-01-21 18:39:50 · 311 阅读 · 0 评论 -
寻找单链表的中间元素
寻找单链表的中间元素单链表元素个数如果为奇数个则正常输出中间元素即可,若单链表元素个数为偶数个则将两个中间元素都输出。代码如下:#include<stdio.h>#include <malloc.h>#include<stdbool.h>//C语言中要用bool类型时 需要用此文件名,若没有此文件 就无法使用booltypedef int Elem...原创 2019-01-21 19:02:16 · 1310 阅读 · 0 评论 -
数据结构—绪论(基本知识点第一章)
第一章数据结构绪论目录第一章数据结构绪论什么是数据结构?1.3数据结构起源1.4基本概念和术语1.4.1数据1.4.2数据元素1.4.3数据项1.4.4数据对象1.4.5数据结构1.5 逻辑结构与物理结构1.5.1 逻辑结构1.5.2 物理结构1.6 抽象数据类型1.6.1 数据类型1.6.2 抽象数据类型1.7总结回顾什么是...原创 2019-01-22 15:25:59 · 1271 阅读 · 0 评论 -
单链表反转
单链表反转:将单链表原本的元素逆序。#include&amp;lt;stdio.h&amp;gt;#include &amp;lt;malloc.h&amp;gt;#include&amp;lt;stdbool.h&amp;gt;//C语言中要用bool类型时 需要用此文件名,若没有此文件 就无法使用bool,此时你可以自己定义booltypedef int ElemType;type原创 2019-01-18 18:24:17 · 138 阅读 · 0 评论