数据结构
文章平均质量分 92
Kai2026
大学生一枚,C/C++,Linux在学,热爱玩游戏。
展开
-
数据结构---AVL树
_left(nullptr)// 左孩子, _right(nullptr)// 右孩子, _parent(nullptr)// 父节点, _kv(kv)// 平衡因子,_bf(0){}原创 2023-09-20 16:34:07 · 296 阅读 · 0 评论 -
数据结构---二叉搜索树
若它的左子树不为空,则左子树上的所有节点的 值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树根据这个性质,我们可以利用二叉搜索树进行高效的插入,删除和搜索操作。原创 2023-09-17 17:36:43 · 363 阅读 · 1 评论 -
数据结构---二叉树
专栏简介:这里是HaiFan.的数据结构专栏,今天的内容是二叉树。原创 2023-04-15 13:18:33 · 415 阅读 · 0 评论 -
数据结构---递归转化为非递归
为什么要学习非递归写法呢?当我们在用递归实现一个程序的时候,要考虑一个问题,这个程序用递归去实现,当数据量庞大的时候,会不会造成栈溢出(STACK OVERFLOW)呢?如果没有造成还好,造成了怎么解决这个问题呢?这个时候就需要用到非递归,把一个递归实现的程序转化为非递归,是一个程序猿的基本功。return 1;return 0;比如这个代码,把这个代码转化为非递归特别简单,一个for循环即可搞定。i原创 2023-04-13 16:46:10 · 710 阅读 · 0 评论 -
数据结构---八大排序
排序在日常生活十分的重要,买一个东西的时候,肯定要看价格;打游戏的时候的段位排名;游戏下载次数的排行等等,都需要用到排序,下面,HaiFan来为大家介绍一下常用的排序方法。插入排序:直接插入排序和希尔排序选择排序:选择排序:堆排序交换排序:冒泡和快排归并排序:归并。原创 2023-04-12 22:46:11 · 783 阅读 · 0 评论 -
数据结构 --- 队列
队列同栈一样,是一种特殊的数据结构,只允许在一端进行插入操作,在另一端进行删除操作,队列遵循先进先出原则。进行插入操作的一端称为队尾,插入元素叫做入队进行删除操作的一端称为队头,删除元素叫做出队队列同栈一样,可以使用数组实现,也可以使用链表实现。原创 2024-03-03 14:38:43 · 431 阅读 · 0 评论 -
数据结构---栈
栈是一种特殊的数据结构,它不允许随机插入数据和随机删除数据,只允许在固定的一端加入数据和删除数据,加入数据的一端称为栈顶,另一端称为栈低,栈中的数据遵循先进后出原则。加入数据的操作称为:压栈删除数据的操作称为:出栈,删除数据也是在栈顶进行操作的。现在有一组数据,分别为 1, 2, 3, 4.依次把这四个元素入栈。得到的数据就如图中一样。出栈顺序是,4,3,2,1.实现栈有两种方式,一种是数组方式实现,还有一种是链表实现,数组实现比较简单,链表实现就是尾插和尾删。原创 2023-03-16 19:31:48 · 509 阅读 · 2 评论 -
数据结构---双链表
双向链表是在结构体内存两个指针,一个指针存下一个结点的地址,另一个指针是存上一个结点的地址,这样,就可以通过一个结点,找到前后两个结点。听起来很复杂,但实现起来,要比单链表简单许多。}LN;原创 2023-03-11 10:47:26 · 559 阅读 · 5 评论 -
数据结构---单链表
顺序表每一次扩容,都是连续的空间,支持通过下标去访问数据。但是顺序表的头插,头删,中间删元素,需要把后面的数据覆盖前面的元素,也就是挪动元素,这就导致效率非常的低并且,顺序表在扩容之后,可能会有一部分空间没有用,这就导致了空间浪费。原创 2023-02-26 18:23:18 · 561 阅读 · 4 评论 -
数据结构---顺序表
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。静态顺序表:使用定长数组存储元素。动态顺序表:使用动态开辟的数组存储。原创 2023-02-23 13:30:01 · 531 阅读 · 2 评论 -
数据结构---时间复杂度与空间复杂度
什么是数据结构数据结构是计算机存储,组织数据的方式,指相互之间存在一种或多种特定关系的数据与元素的集合什么是算法算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为 输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。原创 2023-02-17 19:22:40 · 742 阅读 · 3 评论