![](https://img-blog.csdnimg.cn/20200418174347972.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构 && 算法
文章平均质量分 82
Banana的数据结构与算法的学习历程,涵盖了多种数据结构与多种算法的介绍与总结,希望能给你带来帮助。
本专栏持续更新,有什么意见或者建议大家可以提出一起讨论哟~!!
Geek-Banana
JAVACV工程师
新手炼丹师
展开
-
【堆】堆的数据结构,以及堆排序的优缺点、时间复杂度分析
本来想写堆以及优先队列的,现在就只简单写写堆吧,先不写别的了,先把堆搞明白。堆是什么堆是一个 完全二叉树,每一个节点的值都必须 大于等于 或者 小于等于 其孩子节点的值。堆的特点插入 的时间复杂度:O(lgn)删除 的时间复杂度:O(lgn)获取最大值/最小值的 时间复杂度:O(1)最大堆/最小堆最大堆:每一个节点的值都必须 大于等于 其孩子节点的值。最小堆:每一个节点的值都必须 小于等于 其孩子节点的值。构建最大堆构建最大堆的步骤分为一下几步:把要插入的元素插入到堆中和父节点原创 2021-08-10 17:40:10 · 7996 阅读 · 0 评论 -
【LeetCode】LeetCode经典题目合集,面试刷这些就够了(持续更新)
经典lc题目整理,有个人理解,可以作为学习和准备面试使用原创 2021-03-13 18:58:45 · 7234 阅读 · 0 评论 -
【数组】数据结构,数组详细介绍
数组数组的声明方式数组有两种声明方式,一种是先声明大小,随后再进行赋值 int[] nums1 = new int[3]; nums1[0] = 0; nums1[1] = 1; nums1[2] = 2;另一种是直接进行赋值元素 int[] nums2 = {0, 1, 2};数组的特点数组是 线性表,它在内存中的存储占用的是一块儿 连续的内存数组的长度 不可...原创 2020-04-19 18:25:29 · 184 阅读 · 0 评论 -
【二分查找】二分查找怎么写,边界如何确定,我应该是要左边还是要右边,我为何如此的蠢???
目录在这里哦~二分查找简介二分查找的核心思想适用场景举个栗子 - 猜数字二分查找简介二分查找算法的效率很高,而且它的思想也比较简单,但是由于内部的某些细节,导致二分查找不是很容易写对,有的时候也会陷入自我怀疑,我为何如此的蠢???二分查找的核心思想核心思想很简,单就一句: 每次尽可能多的排除掉无用元素适用场景二分查找只适合 有序集合 使用,举个栗子 - 猜数字在 0 - 100 ...原创 2020-05-01 11:32:25 · 950 阅读 · 1 评论 -
【链表】一起学链表,熟练掌握链表的各种操作
目录在这里哦~0 勇士救公主的故事链表的介绍单链表的增删改双链表的增删改链表的合并0 勇士救公主的故事公主被巨龙 昆图库塔卡提考特苏瓦西拉松 抓走了,勇士 达拉崩吧斑得贝迪卜多比鲁翁 出发去救公主勇士 达拉崩吧斑得贝迪卜多比鲁翁 到了 拉西卡帕斯蒂谷鹏大草原,发现了去往 西路伽什材科安丰黑森林 的道路;勇士 达拉崩吧斑得贝迪卜多比鲁翁 到了 西路伽什材科安丰黑森林,发现了去往 哲石亦作步纸...原创 2020-04-29 20:30:49 · 243 阅读 · 0 评论 -
【队列】队列的学习,搞定单向链表和循环链表
目录在这里哦~队列是什么队列的特点单向队列循环队列用数组实现循环队列实现队列是什么队列这事儿印象最深的就是苹果手机店的排队购机,苹果店外那壮观的场景,还依稀记得当时的新闻,从夜里就已经开始排队了,或者是在各种场所的排队入场,也要排队,在我们日常生活中应用的很多。队列的特点先入先出就跟排队预约一样,排队第一名的一定要第一个购买,所以队列的先入先出,就是最先入队的就要最先出队,它的结构就像...原创 2020-04-20 20:20:59 · 520 阅读 · 0 评论 -
【栈】一小时搞定关于栈的那点事儿,其实挺简单的!!
目录在这里哦~后入先出的结构图示栈的结构使用数组实现栈的数据结构后入先出的结构这是一个后入先出的结构,和先入先出的队列恰好相反,下面我们就介绍一下这个后入先出的结构——栈。栈也是一种线性结构,只能在一端进行插入和删除的操作,先进入的元素被压入栈底,后进入的元素在栈顶,栈底的位置是固定不变的。栈所拥有的具体的方法如下:boolean isFull() :判断栈是否满boolean isE...原创 2020-04-23 11:27:20 · 524 阅读 · 3 评论