
自己动手实现数据结构
今天离目标是不是更远了
故乡遥,何日去,家住吴门,久作长安旅;
五月渔郎相忆否,小楫轻舟,梦入芙蓉浦;
展开
-
(一)动态数组
目录前言已实现方法思想复杂度的分析(均摊复杂度、复杂度震荡)java 代码前言java 内置的数组是静态的,我们可以基于它提供的静态数组,开发属于我们自己的动态数组,并且,保证其操作的复杂度,和 java 提供的静态数组,没有多大的差别,基本一致 ;已实现方法思想底层使用 java 的内置数组;对外暴露两个构造器:一个接收一个...原创 2018-09-07 10:20:26 · 405 阅读 · 0 评论 -
(三)线性表 ---→ 链表
线性结构下的链表的定义,特点原创 2019-07-15 14:45:39 · 287 阅读 · 0 评论 -
(二)线性表 ---→ 顺序表
线性结构下的顺序表的定义、特点。以及java实现原创 2019-07-15 13:49:25 · 184 阅读 · 0 评论 -
(一)线性表(linear list)
线性表的定义、特点、以及对应的数据类型应该拥有的基本api原创 2019-07-15 11:20:56 · 464 阅读 · 0 评论 -
数据结构与算法的分类
第一、二图,忘记了出处。第三张图来自 https://blog.youkuaiyun.com/Mind_programmonkey/article/details/89396290原创 2019-07-13 17:28:50 · 102 阅读 · 0 评论 -
(四)循环队列 VS 数组队列 (效率对比)
目录背景测试代码结果背景各自完成插入 10万、20万 条随机数,然后再将这些随机数出队列 ;测试代码/*** 测试速度*/ public String testSpeed(Queue<Integer> queue, int num) { long start = System.currentTimeMillis();...原创 2018-09-07 13:54:13 · 1483 阅读 · 0 评论 -
(三)循环队列
目录前言思想注意点java 代码前言循环队列,是为了解决 数组队列 ,deQueue() 复杂度为 O(n) 的问题;底层,我们不再使用之前我们实现的 动态数组 ,因为它的 reSize() 不符合我们的要求,对 循环队列 的扩容,要另写一套方法 ;思想循环队列,deQueue() 操作的时候,是不会将后面的元素,往前移动的,它使用一个标...原创 2018-09-07 13:42:02 · 306 阅读 · 0 评论 -
(二)数组队列
目录前言已实现方法复杂度分析java代码前言实现自己的 数组队列,底层利用之前实现的 动态数组 ;实现的接口和 java 队列实现的接口,基本一致 ;在 动态数组 的基础上进行二次封装,很简单;已实现方法复杂度分析对于 deQueue() 的复杂度是 O(n) ,因为,每次移走队首元素,我们都要让后面的元素,移上来,这对于数组来说,...原创 2018-09-07 10:39:07 · 171 阅读 · 0 评论 -
(四)线性表 ---→ 链表 ---→ 单链表
单链表的概念、特点、以及java代码实现原创 2019-07-16 15:21:07 · 304 阅读 · 0 评论