
数据结构
文章平均质量分 86
数据结构与算法知识
李斯啦果
晒晒太阳,吹吹风
展开
-
【数据结构】常见八大排序算法总结
1.直接插入排序2.希尔排序3.选择排序4.堆排序5.冒泡排序6.快速排序,Hoare版本,挖坑法,前后指针法 快速排序的递归实现 快速排序的非递归实现 7.归并排序8.计数排序(非比较排序)9基数排序 10排序算法的复杂度及稳定性分析原创 2024-01-16 22:02:51 · 2674 阅读 · 2 评论 -
【数据结构】二叉树问题总结
1.二叉树前序遍历,中序遍历和后序的实现2.层序遍历3.求二叉树中的节点个数4.求二叉树中的叶子节点个数5.求二叉树的高度6.求二叉树第k层节点个数7.二叉树查找值为x的节点8.单值二叉树.二叉树最大深度10.翻转二叉树11.检查两颗树是否相同12. 对称二叉树13. 另一颗树的子树14.二叉树的前序遍历14.通过前序遍历的数组构建二叉树15.判断二叉树是否是完全二叉树16.判断二叉树是否是平衡二叉树17.二叉树销毁原创 2024-01-13 16:59:07 · 1572 阅读 · 4 评论 -
【数据结构】堆排序和top-k问题
堆排序,向上调整算法,向下调整算法,top-k问题:求数据集合中前k个最大或者最小的元素原创 2023-10-01 00:09:50 · 442 阅读 · 0 评论 -
【数据结构】二叉树
树的概念及结构左孩子右兄弟表示法双亲表示法二叉树的结构及概念满二叉树和完全二叉树二叉树的顺序结构及实现堆的概念及实现构造堆结构插入数据到堆堆的向下调整算法向下调整算法如何创建一个堆堆的向上调整算法向上调整算法创建一个堆删除堆顶元素访问堆顶元素向上调整建堆和向下调整建堆的时间复杂度4.二叉树的链式结构及实现前序遍历中序遍历后序遍历层序遍历已知前序序列和中序序列重建二叉树问题原创 2023-09-08 01:52:57 · 2126 阅读 · 0 评论 -
【数据结构】带头双向循环链表及其实现
1.带头双向循环链表;带头双向循环链表实现;初始化;销毁;头插;链表打印;头删数据;尾插数据;尾删数据;链表判空;查找一个数据;在pos位置前插入数据;删除pos位置;求链表的长度;顺序表和链表的区别;顺序表和链表的优缺点原创 2023-08-30 10:20:48 · 839 阅读 · 2 评论 -
【数据结构】队列及其实现
使用链表实现队列,队列中的每个元素都是节点的形式,所以需要定义节点的结构对于队列,其具有队尾入数据,队头出数据的特性,所以其结构定义需要两个指针,分别指向队头和队尾}QNode;}Queue;原创 2023-08-11 11:43:44 · 846 阅读 · 0 评论 -
【数据结构】栈及其实现
1.栈的概念及结构;2.栈的实现:2.1栈结构定义2.2初始化及销毁2.3插入数据2.4删除数据2.5访问栈顶数据2.6判断是否为空栈2.7计算栈的大小3.8访问栈中所有数据原创 2023-08-10 12:19:01 · 574 阅读 · 0 评论 -
【数据结构】顺序表及其实现
1.线性表2.顺序表2.1顺序表的概念及结构2.2顺序表的实现原创 2023-06-13 08:24:22 · 738 阅读 · 0 评论 -
【leetcode】链表的中间节点|链表中倒数第k个节点
链表的中间节点:给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。链表中倒数第k个节点:输入一个链表,输出该链表中倒数第k个结点。原创 2023-07-26 15:18:59 · 257 阅读 · 0 评论 -
【leetcode】206.反转链表
给你单链表的头节点head,请你反转链表,并返回反转后的链表。每一次反转都使n2和n1之间的指针关系反转,因此当n2指向尾节点时,n1指向尾节点的前一个节点,此次反转便是最后一次指针关系的反转,迭代后n2==NULL,所有反转结束,因此。综上,我们需要三个指针,分别指向当前节点(n2),当前节点的前一个节点(n1)以及当前的节点的后一个节点(n3),,因为原链表可能为空链表,cur->next就会造成空指针的访问原创 2023-07-26 13:54:59 · 175 阅读 · 0 评论 -
【数据结构】链表及无头单向非循环链表实现
顺序表的问题 顺序表与链表的比较 链表的概念、结构及分类 无头+单向+非循环链表实现 创建节点 头插数据头删数据 尾插 尾删 链表销毁 查找一个元素在pos之前插入在pos之后插入 删除pos位置 删除pos之后的位置原创 2023-07-19 13:01:12 · 526 阅读 · 0 评论 -
【leetcode】203. 移除链表元素
【leetcode】203. 移除链表元素:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回新的头节点 。带哨兵头节点的链表【leetcode】21. 合并两个有序链表:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2023-07-24 11:07:39 · 150 阅读 · 0 评论 -
【leetcode】189.轮转数组
轮转数组原创 2023-06-12 09:23:29 · 184 阅读 · 0 评论 -
【数据结构】时间复杂度与空间复杂度
冒泡排序的时间复杂度,冒泡排序的空间复杂度,递归阶乘的时间复杂度,递归阶乘的空间复杂度,斐波那契数列的时间复杂度,斐波那契数列的空间复杂度,原创 2023-06-09 10:07:36 · 814 阅读 · 0 评论