![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学数据结构
文章平均质量分 78
microlovw
这个作者很懒,什么都没留下…
展开
-
C++初阶笔记--命名空间+缺省参数
首先呢学好c++非一日之际,希望能在这和大家一起学习。原创 2024-04-06 14:35:16 · 151 阅读 · 1 评论 -
C语言--数据结构: 队列
队列是先进先出结构,与栈的先进后出相反,但思路一样不是很难。原创 2024-03-14 17:15:00 · 317 阅读 · 1 评论 -
C语言--数据结构: 栈
栈的使用就是先进后出,那么使用什么结构进行先进后出?以及先进后出用什么作用呢?编程语言使用栈来管理函数调用和返回。当一个函数被调用时,其局部变量、参数和返回地址被压入栈中,当函数执行完毕时,这些数据被弹出栈。操作系统使用栈来管理进程的内存分配和释放。每个进程通常都有自己的栈空间,用于存储函数调用、局部变量和其他临时数据。在表达式求值中,栈常用于将中缀表达式转换为后缀表达式,以便更容易进行计算。栈可以用于逆序输出数据。例如,当需要逆序输出字符串或者逆序遍历一个数据结构时,可以使用栈来实现。原创 2024-03-13 20:14:53 · 316 阅读 · 0 评论 -
C语言--数据结构:堆排序(超详细简图!)
当我们创建小堆的时候我们会得到最小值,然后我们将最小值与最后一个数据交换,并将传入向下调整的堆元素个数-1,这样我们就可以保存好最大值;堆排序是一种高效的排序算法,具有稳定的时间复杂度和较低的空间复杂度。它适用于大规模数据的排序,并且相比于其他排序算法,堆排序不需要额外的存储空间。堆排序的主要思想是先将待排序的数组构建成一个堆,然后逐步将堆顶元素与堆的最后一个元素交换,并重新调整堆,使其满足堆的性质,最终得到有序序列。堆的构建和调整操作的时间复杂度均为 O(logn),而总共需要进行 n 次这样的操作。原创 2024-03-18 20:40:55 · 339 阅读 · 0 评论 -
C语言--数据结构:单链表
什么是链表,顾名思义就像一个个环环相扣的圈。那我们怎么使用编程语言实现这个链表呢?以及它的作用是什么呢?单链表是一种线性数据结构,由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。节点按顺序排列,通过指针链接在一起,形成链表。单链表可以用来存储各种类型的数据,例如整数、浮点数、字符串等等。单链表的节点可以动态分配内存,这意味着它可以根据需要灵活地增加或减少节点,不像数组一样需要在初始化时确定大小。在单链表中,插入和删除元素的操作非常高效,只需要修改节点的指针即可,无需移动其他元素。原创 2024-03-12 19:17:16 · 1647 阅读 · 0 评论 -
C语言--数据结构:树
树的概念不用记,清楚加粗的和了解其它的即可。树有很多种表示方式如:双亲表示法,孩子表示法、孩子双亲表示法以及孩子兄弟表示法等。我们这里就简单的了解其中最常用的孩子兄弟表示法。原创 2024-03-15 09:00:00 · 2090 阅读 · 1 评论 -
C语言--数据结构:堆(完全二叉树)
堆是一种完全二叉树,其特点在于它分为大堆和小堆。:在堆中,根节点的值总是大于或小于其子节点的值,这个性质使得堆能够快速找到最大或最小值。:对于具有n个节点的堆,其高度为log2(n),这使得堆的插入和删除操作具有较好的时间复杂度。:通常使用数组来表示堆,其中根节点位于索引0,而子节点i的父节点位于索引floor((i-1)/2)。原创 2024-03-17 21:42:19 · 1701 阅读 · 0 评论