![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
本专栏包含了动态顺序表,栈,队列,堆,二叉树和排序的相关基本运算算法的实现以及一些OJ题
果然不出所廖
share my knowledges , intended to enrich myself and help those in need
展开
-
二叉树的前序,中序,后序遍历
前根遍历:顺序是根,左子树,右子树:A B D NULL NULL E NULL NULL C F NULL NULL NULL。中根遍历:顺序是左子树,根,右子树:NULL D NULL B NULL E NULL A NULL F NULL C NULL。后根遍历:顺序是左子树,右子树根,:NULL NULL D NULL NULL E B NULL NULL F NULL C A。二叉树的前序,中序,后序遍历也叫前根遍历,中根遍历,后根遍历或者前序遍历,中序遍历,后序遍历,代码实现采用递归。原创 2024-04-30 12:36:48 · 633 阅读 · 0 评论 -
二叉树的中序遍历(力扣第94题)
【代码】二叉树的中序遍历(力扣第94题)原创 2024-04-30 12:37:15 · 57 阅读 · 2 评论 -
二叉树的前序遍历(力扣第144题)
【代码】二叉树的前序遍历(力扣第144题)原创 2024-04-29 23:23:06 · 267 阅读 · 1 评论 -
最小K个数(力扣面试题17.14)
值得注意的是,已知孩子节点求父亲节点的公式是:parent=(child-1)/2。本文采用的是大堆排序求最小的K个值。需要有堆的数据结构基础哦。原创 2024-04-29 22:11:46 · 558 阅读 · 2 评论 -
力扣_206_反转链表(c语言)
【代码】力扣_206_反转链表(c语言)原创 2024-03-26 18:13:41 · 362 阅读 · 0 评论 -
实现堆的各种基本运算的算法(数据结构)
以小堆为例,大堆就举一反三了。堆的物理结构就是普通的数组,但是逻辑结构看成了一颗完全二叉树。小堆,就是树的每一个父节点都小于他的孩子节点。如图中第一排的a与b。大堆,就是树的每一个父节点都大于他的孩子节点。如图中第二排的a与b。我们要实现的功能就是将一个数组排成符合要求的序列。原创 2024-04-22 20:38:52 · 251 阅读 · 1 评论 -
力扣.21. 合并两个有序链表(c语言)
【代码】力扣.21. 合并两个有序链表(c语言)原创 2024-03-28 17:59:37 · 276 阅读 · 0 评论 -
力扣题库27题移除元素(c语言)
【代码】力扣题库27题移除元素(c语言)原创 2024-03-22 22:05:42 · 351 阅读 · 1 评论 -
力扣_203_移除链表元素(c语言)
【代码】力扣_203_移除链表元素(c语言)原创 2024-03-26 17:46:38 · 194 阅读 · 0 评论 -
力扣题库88题:合并两个有序数组(c语言)
【代码】力扣题库88题:合并两个有序数组(c语言)原创 2024-03-23 21:47:12 · 292 阅读 · 0 评论 -
力扣_876_ 链表的中间结点(c语言)
【代码】力扣_876_ 链表的中间结点(c语言)原创 2024-03-28 18:05:15 · 198 阅读 · 1 评论 -
用队列实现栈(力扣第225题)
【代码】用队列实现栈(力扣第225题)原创 2024-04-19 22:25:56 · 226 阅读 · 0 评论 -
力扣第20题有效的括号
【代码】力扣第20题有效的括号。原创 2024-04-15 12:13:21 · 183 阅读 · 0 评论 -
实现队列的各种基本运算的算法(数据结构)
队列的特点就是先进先出,后进后出。原创 2024-04-14 15:47:46 · 296 阅读 · 0 评论 -
实现栈的各种基本运算的算法(数据结构)
栈的特点是先入后出,后进先出。原创 2024-04-14 14:05:50 · 302 阅读 · 0 评论 -
环形链表的约瑟夫问题(牛客网)
【代码】环形链表的约瑟夫问题(牛客网)原创 2024-04-15 12:13:33 · 291 阅读 · 0 评论 -
用栈实现队列(力扣第232题)
【代码】用栈实现队列(力扣第232题)原创 2024-04-20 18:05:17 · 272 阅读 · 0 评论 -
数据结构——动态顺序表
数据结构的动态顺序表有以下几个操作:创建,销毁,初始化,增删查改和打印以及内存空间不够时的扩容。任意位置插入要记得判断插入位置的合法性,再将插入位置的数据向后移一位,再在插入位置赋值即可。进行删除操作时,要判断表是否已经是空表,此时不可再删。插入时都要判断空间是否足够,是否需要扩容,以及ps->size要加一。值得注意的是,ps->a要赋值NULL,避免野指针的出现。任意位置的删除也要检验删除位置的合法性。任意位置的修改也要检验删除位置的合法性。6.动态顺序表的任意位置的修改。5.动态顺序表的删除。原创 2024-03-12 21:44:22 · 362 阅读 · 1 评论