随笔分类 -  数据结构

数据结构基础概念、结构实现、基础应用和拓展应用等。
摘要:这篇博客只是分享一些个人的学习经验,推荐一些资料,带有强烈的个人主观感受在里面,仅供参考。 #学好这门课的重要性 和计算机网络不一样,这门课让我去讨论它的重要性,一时间还真不知道怎么说。说它是后面搞开发要具备的基础吧,但很多编程语言其实都有封装好这些数据结构的实现,例如 C++ 的 STL 库,Ja 阅读全文
posted @ 2023-02-17 03:51 乌漆WhiteMoon 阅读(1797) 评论(5) 推荐(3) 编辑
摘要:#迭代遍历 实现二叉树的遍历一般用的是递归,系统维护递归需要调用一个系统栈来保存状态,在递归回溯的时候恢复状态。这些额外的资源占用和代码调用增大了二叉树遍历的开销,因此如果用户通过自己定义一个用户栈来替代,效率会更高。 一般而言基于递归实现的功能,也可以通过自己定义一个栈结构来实现。但是用户自定义的 阅读全文
posted @ 2022-07-22 14:29 乌漆WhiteMoon 阅读(321) 评论(0) 推荐(1) 编辑
摘要:#线性表 ##什么是线性表? 说起这个问题,我们一定不陌生。打开QQ或微信,我们可以看到好友列表,打开PTA,我们能看到题目列表,打开音乐软件,我们可以看见歌曲列表,线性表在我们的生活中无处不在。线性表是怎么呈现的呢?线性表把我们在生活中需要的信息,按照顺序进行排列,使得这些信息直观、有条理,如果是 阅读全文
posted @ 2022-07-20 16:40 乌漆WhiteMoon 阅读(817) 评论(0) 推荐(1) 编辑
摘要:#BF 算法 ##算法思想 BF 算法,即暴风(Brute Force)算法,不是要匹配字符吗?那我一个一个直接匹配不就好啦。BF 算法的思想就是将目标串 S 的第一个字符与模式串 T 的第一个字符进行匹配,若相等,则继续比较 S 的第二个字符和 T 的第二个字符;若不相等,则比较S的第二个字符和 阅读全文
posted @ 2021-04-24 23:40 乌漆WhiteMoon 阅读(495) 评论(0) 推荐(3) 编辑
摘要:#迷宫寻路 ##应用情景 例如如图所示迷宫,黄色方格代表起点,橙色方格代表终点,绿色方格代表可走路径,蓝色方格代表障碍物。已知这是一个 M × N 大小的迷宫,可以用 0 表示可走路径,1 表示障碍,算法要求实现从迷宫的任意一点出发,试探出一条通向终点的路径。 ##应用解析 刚看到这个情景,我们是一 阅读全文
posted @ 2021-04-03 00:05 乌漆WhiteMoon 阅读(501) 评论(0) 推荐(2) 编辑
摘要:#导言 队列在生活中处处可见,例如在食堂买饭,你需要排队,先来的同学先买,后面的同学需要等前面的同学买好才能够前进(这不废话吗)。对于程序设计,队列的思想应用广泛,例如在操作系统中的作业排队也是使用队列来实现的,在一个允许多道程序运行的计算机系统中,面对多个运行的作业,它们就需要按照请求输入的次序排 阅读全文
posted @ 2021-04-02 16:46 乌漆WhiteMoon 阅读(478) 评论(0) 推荐(2) 编辑
摘要:禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取! #希尔排序 希尔排序又称缩小增量排序,输入插入类排序。当排序的记录个数较少且待排序序列的关键字基本有序时,算法的效率较高,它从“减少记录个数”和“序列基本有序”两个方面进行了改进。 ##算法思想 希尔排序实质上是采用分組插入的方法, 阅读全文
posted @ 2020-08-08 00:11 乌漆WhiteMoon 阅读(927) 评论(0) 推荐(3) 编辑
摘要:#预备知识 数据结构个人学习推荐 C++面向过程编程 C++ STL 库快速上手 #线性表 顺序表结构详解 链表结构和例题详解 SkipList (跳跃表)解析及其实现 静态链表及 PTA 重组链表 #栈和队列 栈结构解析及其应用 队列结构解析及其应用 栈和队列应用:迷宫问题 PTA习题解析——银行 阅读全文
posted @ 2020-08-05 00:07 乌漆WhiteMoon 阅读(1901) 评论(0) 推荐(7) 编辑
摘要:禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取! #哈希链 ##HASH 表 如果有一种查找方法,我们能一下子就知道其存储位置,并能进行快速地访问,那么时间复杂度就是 O(1),这样查找的效率就太高了。能够实现这种效果的查找成为散列,所谓散列技术就是数据保存的存储位置和关键字之间存 阅读全文
posted @ 2020-05-28 17:21 乌漆WhiteMoon 阅读(804) 评论(0) 推荐(2) 编辑
摘要:禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取! 在查找的使用情景中,线性表是最简单的结构,很适合作为查找部分的开始。 #顺序查找 ##查找思想 顺序查找也可以成为线性查找,是最简单粗暴的查找法,这个应该在学习数组的时候就应该很拿手。查找过程为从表的一端开始,依次将记录的关键字和给 阅读全文
posted @ 2020-05-27 15:55 乌漆WhiteMoon 阅读(750) 评论(0) 推荐(3) 编辑
摘要:禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取! #二叉排序树 ##什么是二叉排序树 对于线性查找而言,当查找的数据发生了变化,进行修改的开销是很大的,因此线性查找适合静态查找。对于动态查找而言,用树结构来制作查找表会更为合适,因为动态地操作树结构的结点,开销远比顺序表小得多。 所 阅读全文
posted @ 2020-05-27 03:32 乌漆WhiteMoon 阅读(1307) 评论(0) 推荐(3) 编辑
摘要:禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取! #“主角座位” 在很多动漫作品中,我们发现可以看到主角的座位在倒数第二或最后排靠窗。“主角座位”的动漫梗就因此而来,当你看动漫的时候会去留意主角坐在班级的那个角落吗(笑)?其实在生活中也是如此,当班级调完座位之后,当我们想要找一位同 阅读全文
posted @ 2020-05-26 23:26 乌漆WhiteMoon 阅读(737) 评论(0) 推荐(4) 编辑
摘要:禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取! #说说“平衡” 《Ballance》平衡球是由德国的雅达利公司旗下的单机滚球游戏,在游戏中,玩家要操纵一个可以改变自身材料种类的球在高空或太空中搭建的庞大而复杂的迷宫建筑中穿梭,避开陷阱机关并破解一个个谜题,最终到达终点飞船以完成一 阅读全文
posted @ 2020-05-25 16:13 乌漆WhiteMoon 阅读(623) 评论(0) 推荐(2) 编辑
摘要:禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取! #网络爬虫与搜索 我们天天在使用搜索引擎,因为他可以在互联网中为我们查找需要的信息。搜索引擎使用了一种爬虫技术,所谓网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,在互联网中有广泛的应用。随着网络的迅速发展,万维网 阅读全文
posted @ 2020-05-24 19:31 乌漆WhiteMoon 阅读(276) 评论(0) 推荐(2) 编辑
摘要:#再谈“泡茶” 张三给客人沏茶,烧开水需要 12 分钟,洗茶杯要 2 分钟,买茶叶要 8 分钟,放茶叶泡茶要 1 分钟。为了让客人早点喝上茶,你认为最合理的安排,多少分钟就可以了? 在上一篇博客拓扑排序中我其实并没有解决最优化策略,而只是用这个话题做个引入。再回顾下,我认为拓扑排序提供的是一种导向, 阅读全文
posted @ 2020-05-04 12:00 乌漆WhiteMoon 阅读(1451) 评论(0) 推荐(3) 编辑
摘要:#导言 《英雄传说6:空之轨迹》是由日本 Falcom 公司开发制作并发行一款角色扮演类游戏。轨迹系列的舞台是“塞姆利亚大陆”,游戏故事发生在利贝尔王国,主人公艾丝蒂尔和约修亚将在冒险旅途上遇到各色各样的人物,以成为正式游击士为目标,揭开了故事的序幕,两位游击士新人为了磨练自我而踏上旅程,却在不经意 阅读全文
posted @ 2020-05-04 03:02 乌漆WhiteMoon 阅读(386) 评论(0) 推荐(2) 编辑
摘要:#从“泡茶”说起 张三给客人沏茶,烧开水需要 12 分钟,洗茶杯要 2 分钟,买茶叶要 8 分钟,放茶叶泡茶要 1 分钟。为了让客人早点喝上茶,你认为最合理的安排,多少分钟就可以了? 小学有一种奥数题型叫“最优化策略”,诞生出这种题型的原因是由于完成一系列操作是由有先后顺序的,同时做一些事情的同时可 阅读全文
posted @ 2020-05-04 01:55 乌漆WhiteMoon 阅读(152802) 评论(0) 推荐(2) 编辑
摘要:#游戏寻路 推荐你看个视频未来科技开发日记#2。 我们在玩游戏中经常会使用自动寻路功能啦,例如在魔兽争霸中右键点击一个地方,系统就会自动帮我们寻路过去啦。那么我们会发现,系统帮我们找的路往往是一条较短、省时的路径,这么做是很合理的,因为没有人会喜欢无时不刻都在赶路、跑图的游戏(除非有其他特色,或者本 阅读全文
posted @ 2020-05-02 22:33 乌漆WhiteMoon 阅读(1662) 评论(0) 推荐(2) 编辑
摘要:#最小代价生成树 目前为止的学习,我们能够看到现实中的很多问题都和图结构息息相关,因为现实中的关系往往不是一对一或一对多的关系,而是多对多的关系。例如有这样一个场景,假设我要在 n 个城市之间架设通信联络网,首先我们先明确一个前提:任意两个城市之间都需要架设通信网络?答案是否定的,因为这么做劳民伤财 阅读全文
posted @ 2020-04-28 23:41 乌漆WhiteMoon 阅读(1532) 评论(2) 推荐(2) 编辑
摘要:#记录遍历状态 对于图结构来说,图的遍历和树的遍历有类似之处,树结构的遍历从根结点出发,图结构的遍历从某一结点出发。出发之后,按照某种手法无重复地访问所有的结点,这也是后续解决图的连通性、拓扑排序和关键路径的预备知识。 由于在图结构中,任意顶点都有可能与其他顶点相互邻接,因此如果没有对已走过的路径进 阅读全文
posted @ 2020-04-27 16:49 乌漆WhiteMoon 阅读(1414) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示