数据结构
文章平均质量分 91
Killing Vibe
阿里云星级博主,华为云云享专家,ICIAP国际会议EI索引收录一作,中国大学生计算机设计大赛国家级二等奖,研究生电子设计竞赛省级一等奖,大学生科技创新与职业技能竞赛省级二等奖,北大核心某期刊一作
展开
-
递归的思路
文章目录前言一、什么是方法递归?二、使用步骤1.引入库2.读入数据总结前言今天给老铁们回顾一下递归的思路以及方法,也是给自己的一个归纳总结。一、什么是方法递归?所谓的方法递归,就是在一个方法(函数)执行的内部,自己调用了自己的过程,称之为 “递归” 。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport原创 2022-04-08 00:16:01 · 3461 阅读 · 54 评论 -
归并排序图解(通俗易懂)
归并排序图解,优化后的归并排序,扩展,面试题原创 2022-10-28 04:30:00 · 2596 阅读 · 5 评论 -
java优先级队列(基于堆)
基于堆的优先级队列,自己实现最大堆,深入剖析堆的三个操作原创 2022-10-26 04:30:00 · 1575 阅读 · 20 评论 -
快速排序图解(两种思想)
快速排序算法两种思路原创 2022-10-25 04:30:00 · 1835 阅读 · 8 评论 -
希尔排序图解
希尔排序图解原创 2022-10-24 16:30:00 · 747 阅读 · 4 评论 -
插入排序图解
直接插入排序与折半插入排序图解原创 2022-10-24 04:30:00 · 1404 阅读 · 17 评论 -
选择排序图解
直接选择排序与双向选择排序图解原创 2022-10-23 22:02:48 · 535 阅读 · 3 评论 -
HashMap源码解读(下篇)
上一篇博主对HashMap中的属性和Put方法进行了逐句解读,链接如下:HashMap源码解读(中篇)本篇将解读HashMap的resize()方法,构造方法,以及拓展一些HashMap中的特性。1 若HashMap还未初始化,先进行哈希表的初始化操作(默认初始化为16个桶)2.对传入的Key值做hash,得出要存放该元素的桶编号3.若哈希表中存在key值相同的元素,替换为最新的value值4.若桶满了(++size是否大于threshold),调用resize()扩容哈希表。(threshold = 容量原创 2022-10-22 08:30:00 · 250 阅读 · 14 评论 -
HashMap源码解读(中篇)
HashMap的属性以及Put方法逐句解析原创 2022-10-20 09:30:00 · 1990 阅读 · 115 评论 -
HashMap源码解读(上篇)
HashMap和Hashtable的区别与联系本篇博主将从浅入深地解读HashMap源码,学习一下被JDK收录的大神们写的代码思路~~这篇文章是HashMap的一些前置知识,下一篇博主将深入HashMap源代码,分析HashMap是如何设计的,它的存储逻辑以及如何解决冲突的。希望能帮到大家~~原创 2022-10-19 16:54:12 · 873 阅读 · 22 评论 -
HashMap和Hashtable的联系与区别
Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,**但是现在Hashtable基本上已经被弃用了**。而HashMap已经成为应用最为广泛的一种数据类型了。原创 2022-10-18 07:00:00 · 1653 阅读 · 26 评论 -
二叉树的操作及常见面试题
二叉树的概念及性质本文将附上博主自己手动实现的二叉树常见的各种操作以及归纳总结一下常见的基础面试题。😁😁😁😁。原创 2022-10-14 23:36:37 · 918 阅读 · 59 评论 -
二叉树的性质
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的节点,称为根节点,根节点没有前驱节点除根节点外,其余节点被分成M(M > 0)个互不相交的集合T1、T2、…、Tm,其中每一个集合 Ti (1原创 2022-10-14 14:42:52 · 1154 阅读 · 14 评论 -
Top K问题【转载】
从伪代码可以看到,二分查找,一个大的问题,可以用一个mid元素,分成左半区,右半区两个子问题。画外音:n个元素扫一遍,假设运气很差,每次都入堆调整,调整时间复杂度为堆的高度,即lg(k),故整体时间复杂度是n*lg(k)。面试中,TopK,是问得比较多的几个问题之一,到底有几种方法,这些方案里蕴含的优化思路究竟是怎么样的,今天和大家聊一聊。如果i小于k,则说明说明第k大的元素在arr[i]的右边,于是只递归arr[i+1, n]里第k-i大的元素即可;堆,是求TopK的经典算法,那还有没有。转载 2022-09-28 22:54:20 · 255 阅读 · 5 评论 -
队列及其经典面试题
除了tail这个引用指向0这个位置以外,其他情况的最后一个索引 = tail - 1当 tail = 0 时,最后一个元素就在数组的末尾,索引 = data.length - 1!!原创 2022-09-26 19:33:44 · 1261 阅读 · 44 评论 -
栈与栈的经典面试题
一次保存单个同类型元素,多个元素之间逻辑上连续例如:数组,链表,栈,队列,字符串(内部就是char[])上述讲的数组也罢,链表也罢,既可以在头部插入和删除,也能在尾部插入和删除,甚至可以在任意位置都可以插入和删除。"栈和队列"只能在一端插入元素和删除元素。原创 2022-09-25 13:42:00 · 1329 阅读 · 34 评论