数据结构
文章平均质量分 64
阳光正好。
这个作者很懒,什么都没留下…
展开
-
数据结构 - 排序
文章目录前言一、排序的概念二、插入排序1.直接插入排序2.希尔排序三、选择排序1.直接选择排序2.堆排序四、交换排序1.冒泡排序2.快速排序优化快排非递归五、归并排序归并非递归六、非比较排序 - 计数排序总结前言本文会介绍一些常见的排序算法。提示:以下是本篇文章正文内容,下面案例可供参考一、排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:在排序过程中,碰到一样的元素,在排序完成后,相同元素的前后位置没有改变就是稳定的,反之不稳定原创 2021-11-06 19:33:50 · 570 阅读 · 0 评论 -
二叉树的oj题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、力扣965. 单值二叉树二、力扣104.二叉树的最大深度三、力扣226.翻转二叉树四、力扣100.相同的树五、力扣101.对称二叉树六、力扣144.二叉树的前序遍历七、力扣94.二叉树的中序遍历八、力扣145.二叉树的后序遍历九、力扣572.另一棵树的子树10、力扣110.平衡二叉树十一、牛客:二叉树遍历前言一些简单的oj题以下是本篇文章正文内容,下面代码可供参考一、力扣965. 单值二叉树链接思路:深度优原创 2021-11-03 17:34:01 · 439 阅读 · 0 评论 -
数据结构 - 二叉树的实现
二叉树的链式结构实现前言一、二叉树结构体的创建二、手动构建二叉树1.开辟二叉树节点2.创建节点并链接三、二叉树的一些接口实现前序遍历中序遍历后序遍历层序遍历二叉树的销毁二叉树的节点个数二叉树的叶子节点个数二叉树的第k层的节点个数二叉树的查找值为x的节点判断二叉树是否是完全二叉树总结前言二叉树的结构特征在这节介绍了,这里就直接实现一个二叉树提示:以下是本篇文章正文内容,下面案例可供参考一、二叉树结构体的创建这里用二叉链。typedef char BTDataType;typedef st原创 2021-11-02 19:29:35 · 453 阅读 · 0 评论 -
数据结构-二叉树和堆的实现
二叉树树的概念和结构概念结构树的其他概念名词树的孩子兄弟表示法树的实际应用二叉树的概念和结构概念特殊的二叉树二叉树的性质二叉树的存储结构二叉树的顺序结构-堆堆的实现堆的向下调整算法堆的创建堆的销毁堆得插入堆的删除堆顶的数据堆数据的个数判断堆是否为空堆排序二叉树的链式结构二叉树的实现会在下一章详细写出来树的概念和结构概念树是一种非线性的数据结构,它是由n(n>=0)个有限节点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一颗倒挂的树,也就是说根是朝上的,叶子朝下。1.树有一个特殊节点,原创 2021-11-01 20:22:16 · 641 阅读 · 0 评论 -
数据结构-栈和队列
栈和队列栈栈的概念栈的实现结构体的创建初始化打印销毁入栈出栈获取栈顶数据获取栈的元素个数检查栈是否为空队列队列的概念队列的实现结构体的创建初始化队尾入数据队头删数据获取队列的有效元素打印获取队尾元素获取队头元素判断是否为空销毁栈栈的概念栈:一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵循后进先出的原则(Last In First Out)压栈:栈的插入操作叫做进栈/压栈/入栈,在栈顶入数据。出栈:栈的删除操作叫做原创 2021-10-31 13:59:43 · 81 阅读 · 0 评论 -
链表oj题
初学链表的练习题1.力扣203.[移除链表元素](https://leetcode-cn.com/problems/remove-linked-list-elements/description/)1.力扣203.移除链表元素思路:迭代,创建一个哨兵位,创建三个指针,第一个指针是cur,用来遍历的,第二个指针是next,他是cur的下一个节点,...原创 2021-10-31 10:38:36 · 530 阅读 · 0 评论 -
数据结构-链表
链表的实现链表的结构二级目录三级目录链表的结构链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表可以二级目录三级目录...原创 2021-10-30 20:11:45 · 81 阅读 · 0 评论 -
顺序表oj
一些练习题关于顺序表1.力扣27.[移除元素](https://leetcode-cn.com/problems/remove-element/)2.力扣26.[删除有序数组中的重复项](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/submissions/)3.力扣88.[合并两个有序数组](https://leetcode-cn.com/problems/merge-sorted-array/)4.力扣189.[原创 2021-10-29 17:27:28 · 155 阅读 · 0 评论 -
数据结构-顺序表
本章重点线性表顺序表顺序表的静态存储顺序表的动态存储线性表线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构。常见的线性表:顺序表、链表、栈、队列、字符串等等。线性表在逻辑上是线性结构,也就是说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,数据必须是从左到右连续的,逻辑结构和物理结构是一致的。缺陷:1.动态增容有性能消耗,有一定原创 2021-10-09 16:02:14 · 88 阅读 · 0 评论 -
数据结构-复杂度
数据结构初阶算法效率时间复杂度概念大O的渐进表示法递归空间复杂度算法效率算法效率分为两种:第一种是时间效率,第二种是空间效率。时间效率就是时间复杂度,空间效率就是空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间,随着科技的发展,计算机的存储容量达到了很高的程度,我们如今不需要特别关注一个算法的空间复杂度了。时间复杂度概念时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行消耗的时间,从理论上说是原创 2021-09-22 19:07:38 · 95 阅读 · 0 评论