数据结构
文章平均质量分 80
Mr.小张
这个作者很懒,什么都没留下…
展开
-
C语言实现基础查找算法
顺序查找 ( Sequential search )顺序查找是按照序列原有顺序对 数组/链表 进行遍历比较查询的基本查找算法。算法实现从表中的最后一个数据元素开始,逐个同记录的关键字做比较如果匹配成功,则查找成功;反之,如果直到表中第一个关键字查找完也没有成功匹配,则查找失败。时间复杂度:O(n)静态查找表既可以使用顺序表表示,也可以使用链表结构表示。虽然一个是数组、一个链表,但两者在做查找操作时,基本上大同小异。我们这里使用数组进行操作。// 顺序查找--如果发现则返回查找到的值,否则返原创 2022-01-05 13:57:24 · 8081 阅读 · 0 评论 -
C语言实现基础排序算法
排序算法原创 2021-12-30 17:51:20 · 907 阅读 · 0 评论 -
非线性结构——简单树相关
一、树的概念树形结构是一对多的非线性结构,非常类似于自然界中的树,数据元素之间既有分支关系,又有层次关系。如下:树具有下面两个特点:树的根结点没有前驱结点,除根结点之外的所有结点有且只有一个前驱结点。树中的所有结点都可以有零个或多个后继结点。相关术语树的结点结点 (Node):表示树中的数据元素,由数据项和数据元素之间的关系组成。图上共14个结点。根结点 (Root Node):每一个非空树都有且只有一个被称为根的结点。结点 A 就是整棵树的根结点。父结点 (Par原创 2021-12-13 17:16:45 · 709 阅读 · 0 评论 -
线性结构——串
一、串的相关定义串的定义:串是由零个或多个组成的有序序列,又叫字符串。串的长度:串中字符的数目称为串的长度。空串:由零个字符组成的串叫做空串,空串不包括任何字符,其长度为零。子串:串中任意个连续的字符组成的子序列称为该串的子串,空串是任何串的子串。主串:包含子串的串相应的称为主串。例:假设有两个串 a 和 b,如果 a 中可以找到几个连续字符组成的串与 b 完全相同,则称 a 是 b 的主串,b 是a 的子串。例如,若 a = “hello world”,b = “world”,由于 a原创 2021-11-24 11:42:25 · 1229 阅读 · 0 评论 -
线性结构——静态链表
一、静态链表概念1.1 静态链表定义静态链表,也是线性存储结构的一种,它兼顾了顺序表和链表的优点于一身,可以看做是顺序表和链表的升级版。使用静态链表存储数据,数据全部存储在数组中(和顺序表一样),但存储位置是随机的,数据之间"一对一"的逻辑关系通过一个整形变量(称为"游标",和指针功能类似)维持(和链表类似)。我们用"数组+游标" 的方式存储具有线性关系数据的存储结构就是静态链表如下:数据(data):用于存储数据元素的值;游标(cur):其实就是数组下标,表示直接后继元素所在数组中的位置原创 2021-11-16 16:02:22 · 2243 阅读 · 0 评论 -
线性结构——双向链表
一、概念双向链表概念( double linked List) 是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。所以在双向链表中的结点都有两个指针域, 一个指向直接后继,另一个指向直接前驱。二、双向不循环链表2.1 定义数据类型typedef void * datatype;typedef struct list_s{ struct list_s *prev; //指向直接前驱 datatype data; //数据域 struct list_s *n原创 2021-11-11 14:10:41 · 1032 阅读 · 0 评论 -
线性结构——单向链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。原创 2021-11-10 11:37:04 · 540 阅读 · 0 评论 -
线性结构——顺序表
一、概念1.1 线性表线性表 (linear list)是n个具有相同特性的数据元素的有限序列。常见的线性表:顺序表、链表、栈、队列、字符串等线性表在逻辑上是一条直线,物理结构上以数组或者链表形式存储1.2 顺序表用一段地址连续的存储单元依次存储线性表的数据元素。分为静态顺序表:使用定长数组存储。动态顺序表:使用动态开辟的数组存储,容量不受限制,支持数据插入,删除,修改等一系列操作。二、顺序表的实现2.1 静态顺序表(数组)2.2 动态顺序表...原创 2021-11-04 10:38:14 · 219 阅读 · 0 评论 -
初识——复杂度
一、概念1.1 什么是数据结构?数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。1.2 什么是算法?算法就是定义良好的计算过程,他取一个或一组的值作为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。1.3 基本概念数据(data)是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素(data element)是组成数据的、有一定意义的基本单位原创 2021-10-09 08:41:42 · 167 阅读 · 0 评论