数据结构
文章平均质量分 65
只会敲代码的喵
你有需要,恰好我能做到。
展开
-
数据结构第十六天(二叉树层序遍历/广度优先搜索(BFS)/队列使用)
二叉树的层序遍历可以使用广度优先搜索(BFS)来实现。具体步骤如下:创建一个队列 queue,并将根节点入队。当队列不为空时,重复执行以下步骤:a. 弹出队头元素,并访问该节点。b. 如果该节点有左子节点,则将其左子节点入队。c. 如果该节点有右子节点,则将其右子节点入队。当队列为空时,说明已经遍历完整个二叉树。原创 2024-02-17 20:30:51 · 971 阅读 · 0 评论 -
数据结构第十三天(树)
2010年一部电影创造了奇迹,它是全球第一部票房到达 27 亿美 元,总票房历史 排名第一的影片,那就是詹姆斯·卡梅隆执导的电影 阿凡达)) (Avatar)。图6-1-1电影里提到了一 棵高达 900 英尺(约 274 米)的参天巨树, 是那个潘多拉星球的纳威人的家园,让人印象非常深刻。可惜那只是导演的梦想,地球上不存在这样的物种。原创 2024-02-06 12:26:03 · 1168 阅读 · 1 评论 -
数据结构第十二天(队列)
我本可以忍受黑暗,如果我不曾见过太阳。队列(Queue)是一种常见的数据结构,遵循先进先出(FIFO,First-In-First-Out)的原则。类比现实生活中排队等候的场景,队列中的元素按照加入的顺序排列,从队列的一端(队尾)添加元素,从另一端(队头)取出元素。入队(Enqueue):将元素添加到队列的末尾。出队(Dequeue):从队列的开头取出元素,并将其从队列中删除。除了入队和出队操作,队列还提供了其他一些常用的操作,如获取队列长度、判断队列是否为空、获取队头元素等。原创 2024-02-04 23:28:22 · 452 阅读 · 0 评论 -
数据结构第十一天(栈)
今天简单的实现了栈,主要还是指针操作,soeasy!友友们如果想存储其他内容,只需修改结构体中的内容即可。栈(Stack)遵循先进后出(LIFO,Last-In-First-Out)的原则。类比现实生活中的栈,我们可以将栈想象成一叠盘子,只能从顶部放入或取出盘子。入栈(Push):将元素放入栈的顶部。出栈(Pop):从栈的顶部取出元素,并将其从栈中删除。栈通常有一个指针,指向栈顶元素的位置。初始时,栈为空,指针指向空位置。进行入栈操作时,指针向上移动,指向新入栈的元素;原创 2024-02-04 18:36:52 · 454 阅读 · 0 评论 -
数据结构第一天(生成1000以内的随机数自动填充数组)
放假这几天,在家待着感到无聊,就来学习了。继续学习数据结构啦。原创 2024-01-26 18:21:31 · 416 阅读 · 3 评论 -
数据结构第二天(直接插入排序/内存申请/指针操作)
首先,我们利用昨天的代码生成五个随机的整数(:数组对应中1,2,3的数值已经是有序的,接下来把361插入到前面有序数列当中,令middle=361,middle与前面有序数列中的值依次从后往前比较,寻找到合适的位置,满足a原创 2024-01-27 19:30:54 · 321 阅读 · 1 评论 -
数据结构第三天(折半插入排序)
理解折半插入排序的基本思路之后,便开始默默敲代码的喵喵生涯。每次失败的背后,总是有原因的。按照最初的思路,转换成代码,运行之后,结果总是不对。我想的应该是没有问题的呀!!!哎,大半个下午,一直按照错误的思路,无论怎么调试,也不见成功。最后,按照代码运行的过程,在平板上手动模拟运行过程。哈哈,终于发现了问题,原来是左右边界出现了问题。发现原因之后,喵喵我呀,一次就更正过来了。今天就直接附上个人写的源码吧!!!原创 2024-01-28 19:19:16 · 358 阅读 · 2 评论 -
数据结构第四天(希尔排序)
今天是插入排序的最后一个了,希尔排序。哈哈,这可不意味着数据结构结束了,明天将开启新的篇章:交换排序。学习算法的过程,并不总是坦坦大路,只要友友们喜欢,喵喵我呀,一定会分享每天所得,每天的点点滴滴,以及喵喵与代码的情仇恩怨。原创 2024-01-29 15:54:37 · 1229 阅读 · 1 评论 -
数据结构第五天(冒泡排序)
冒泡排序这个算法 的思路比较简单,也较容易理解。冒泡排序 (Bubble Sort )一种交换 排序,它的基本思想是:两两比较相邻记录的 关键字,如果反序则交换,直到没有反序的记录为止。冒泡的实现在细节上可以有很 多种变化,下面就用图示演示一下冒泡的过程。排序,当然要有无序的数据啦,还是使用中的代码生成我们需要的数据:进行第一轮两两比较:第一轮两两比较之后,开始第二轮两两比较:。。。。。。原创 2024-01-30 10:00:00 · 330 阅读 · 2 评论 -
数据结构第六天(快速排序)
最好的期待是未来可期, 最好的相遇是开学有你。 想开学啦!!!原创 2024-01-30 19:13:42 · 471 阅读 · 2 评论 -
数据结构第七天(简单选择排序)
哈哈,又到一天一更新,时间过的总是如此快,算一算,今天已经是第七天连续更新了。每写一篇短文,既是对今天所学算法的回顾总结,也算是对每天生活的一个记录,一个见证。简单选择排序法 Simp Selection Sort 就是通过 n-i次关键字间的比较,从 n-i+1个记录中选出关键字最小的记录,并和第 i(1原创 2024-01-31 15:43:48 · 368 阅读 · 1 评论 -
数据结构第八天(归并排序)
今天,想了很多。当两个数组长度一样时,当两个数组长度不相等时,归并的时候又需要注意哪些情况。所以,当你看到一个人在那儿待着一动不动,静静坐着,请不要打扰他,他也许正在思考代码如何实现呢!今天实现的内容是:如何将两个有序的数组归并到一个数组中。归并的前提是,这两个数组中的元素都是有序的。以下内容都以此为前提展开讲解。原创 2024-02-01 19:56:55 · 368 阅读 · 2 评论 -
数据结构第九天(堆排序)
哈哈,这个堆排序算法很久之前就已经敲过一遍了,时间一久,思路有点淡忘。今天重新看过一遍之后,又亲自撸代码,幸运的是,代码运行一次就成功了,没有任何逻辑错误而且结果也达到了预期效果。在最后,与大家共勉:你所走的每一步路,都算数。堆排序(Heap Sort)是一种基于比较的排序算法,使用二叉堆(Binary Heap)数据结构来帮助实现其排序过程。二叉堆可以被视为一颗完全二叉树,其中每个节点的值都不大于(或不小于)其子节点的值,这样的二叉堆分别称为最大堆(Max Heap)和最小堆(Min Heap)。原创 2024-02-02 22:06:44 · 1210 阅读 · 1 评论