![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构系列
数据结构相关知识
China_Musk
一个人的优秀程度,取决于他生活的广度
展开
-
数据结构之查找
数据结构之查找1.顺序查找写在前面:代码中返回查找值的下标,如果想要返回数据元素所在数组中的位置只需要下标+1概念:顺序查找:顾名思义就是按照顺序查找我们想要的值,返回的可以是数组下标,也可以是查找元素所在数组中的位置。时间复杂度:O(n)代码实现:#include<stdio.h>#include<stdlib.h>#include<time.h>typedef int Elemtype;typedef struct { Elemtype* n原创 2021-12-06 17:49:18 · 902 阅读 · 0 评论 -
数据结构之二叉排序树
数据结构之二叉排序树1.二叉排序树的概念若左子树非空,则左子树上所有结点的值都小于根结点上的值若右子树非空,则右子树上所有结点的值都大于根结点上的值左右子树实际上也是一颗二叉排序树2.代码实现建立二叉排序树查找删除#include<stdio.h>#include<stdlib.h>typedef int Elemtype;typedef struct PSTNode{ Elemtype data; struct PSTNode原创 2021-12-02 17:43:07 · 218 阅读 · 0 评论 -
数据结构之二叉树
树基本概念树是n(n>=0)个结点的有限集(n=0时称为空树)非空树应该满足:1)有且仅有一个特定的称为根的结点。2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,并且称为根的子树树的特点1)树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱2)树中所有结点可以有0个或多个后继二叉树基本概念:1.特点:每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能原创 2021-11-23 17:36:35 · 268 阅读 · 0 评论 -
数据结构之队列-链队列
链队列链队列的特性什么是链队列:队列的链式存储链队列的结构:同时带有队头指针和队尾指针的单链表链队列的实现链队列的操作1) 链队列的初始化2) 链队列的判空3) 入队4) 出队代码:#include<stdio.h>#include<stdlib.h>typedef int Elemtype;typedef struct Lnode { Elemtype data; struct Lnode* next;} Lnode, *LinkN原创 2021-11-23 11:15:42 · 291 阅读 · 0 评论 -
数据结构之队列-循环队列
队列队列的特性是一种操作受限的线性表只允许在标的一端进行插入,而在表的另一端进行删除向队列中插入元素称为入队或进队删除元素称为出队或离队先进先出原创 2021-11-17 19:54:30 · 502 阅读 · 0 评论 -
数据结构之栈
栈栈的特性先进后出只允许在一端进行插入或删除操作对栈操作只能在栈顶操作栈的基本操作1.顺序存储实现栈原创 2021-11-17 17:46:28 · 313 阅读 · 0 评论 -
数据结构之双链表
双链表双链表的结构:在逻辑相邻的两个物理元素在物理位置上不相邻双链表代码实现头插法尾插法删除第i个结点按序号查找结点值按值查找结点值新结点插入第i个位置链表的打印代码#include<stdio.h>#include<stdlib.h>typedef int Elemtype;typedef struct Dnode { Elemtype data; // 值域 struct Dnode* prior; // 前继指针 struct原创 2021-11-15 19:14:37 · 477 阅读 · 0 评论 -
数据结构之单链表
单链表1.基础知识(注:带头结点的单链表)头指针:链表中第一个结点的存储位置,用来标识单链表头结点:在单链表第一个结点之前附加的一个结点,因此单链表中的第一个结点不是头节点,而是存储数据元素的结点若链表有头结点,则不管链表是否为空,头指针都不为空,且头指针一直指向头结点。单链表的优点:1)插入和删除操作不需要移动元素,只需要修改指针;2)不需要大量的连续存储空间。单链表的缺点:1)单链表附加指针域,也存在浪费存储空间的缺点;2)查找操作时需要从表头开始遍历,依次查找,不能随机存取。2.单链原创 2021-11-05 19:07:16 · 396 阅读 · 0 评论 -
数据结构之顺序表
线性表1.概念:线性表的定义:由n(n>=0)个相同类型的元素组成的有序集合.1)线性表中元素的个数n,称为线性表的长度;当n=0时,为空表。2) 线性表中的“第一个”数据元素a1和“最后一个”数据元素都是唯一的3)a(i-1)为ai的直接前驱,a(i+1)为ai的直接后继,比如a1是a2的直接前驱,a3是a2的直接后继。线性表的特点:1) 表中元素的个数是有限的2)表中元素的数据类型都相同;也就是说每一个数据元素都占用相同的大小空间3)表中元素具有逻辑上的顺序性,在序列中各原创 2021-11-03 17:33:50 · 69 阅读 · 0 评论 -
数据结构系列之数据结构与算法相关概念
逻辑结构与存储结构1.基础概念逻辑结构:数据元素之间的逻辑关系(抽象的)存储结构:数据结构在计算机中的表示(具体的)1.1逻辑结构逻辑结构主要分为:集合结构线性结构:一对一的关系树形结构:一对多的关系图形结构:多对多的关系1.2 存储结构存储结构主要分为顺序存储:优点:1.可以实现随机存取;2.每个元素占用最少的空间缺点:只能使用整块的存储单元,会产出较多的碎片链式存储优点:充分利用所有存储单元,不会出现碎片现象缺点:1、需要额外的存储空间来存放下一节点的指针;2、只原创 2021-11-02 16:19:58 · 66 阅读 · 0 评论