数据结构
跟随mooc上刘宇波老师的脚步玩转数据结构
Forizon
Talk is cheap, show me your code!
展开
-
玩转数据结构之链表应用:实现栈
对于栈而言,增删改查都是在栈顶进行,因此我们可以将链表头当作栈顶来实现栈的操作。之前是基于动态数组实现了栈,和上次一样,使用一个新的class来实现栈的接口(interface)。public class LinkedListStack <E> implements Stack<E>{ private LinkedList<E> list;...原创 2020-03-03 19:23:08 · 148 阅读 · 0 评论 -
玩转数据结构之链表
线性数据结构中,动态数组、栈、队列,底层都需要依托静态数组,靠resize来解决固定容量的问题。链表是真正的动态数据结构,并且是最简单的动态数据结构。链表(Linked List):数据存储jii在”节点“(Node)中优点:真正的动态,不需要处理固定容量的问题。缺点:丧失了随机访问的能力。数组最好用于索引有语意的情况,score[2],最大的优点:支持快速查询链表...原创 2020-03-03 12:44:27 · 128 阅读 · 0 评论 -
玩转数据结构之栈
栈是一种线性结构相比数组,栈对应的操作是数组的子集栈只能从一端添加元素,也只能从一端取出元素,这一端称为栈顶栈是一种后进先出的数据结构(Last In First Out:LIFO)...原创 2020-02-24 11:23:57 · 110 阅读 · 0 评论 -
玩转数据结构之链表应用:实现队列
队列是队首删除元素,队尾添加元素,当我们用链表来实现队列时,如果从链表尾删除元素是需要先遍历到尾巴之前的一个元素,即时间复杂度不是O(1)是O(n),因此对链表来说,从链表头删除元素是很好操作的,故将链表头当作队首。带尾指针的链表具体实现:public class LinkedListQueue <E> implements Queue<E>{ pri...原创 2020-03-03 20:33:08 · 214 阅读 · 0 评论 -
玩转数据结构之二分搜索树
说二分搜索树之前,必须先明确二叉树的概念,二叉树也是一种动态数据结构原创 2020-03-20 16:00:53 · 130 阅读 · 0 评论 -
玩转数据结构之递归
本质上,将原来的问题,转化成更小的同一问题递归函数的调用,本质上就是函数的调用,只不过调用函数自己而已原创 2020-03-16 16:32:15 · 137 阅读 · 0 评论 -
玩转数据结构之循环队列
数组队列存在的问题是,当队首元素出队之后,所有剩余元素都需要向前移动,这样时间复杂度是O(n)这里引入循环队列,依靠移动front和tail的位置保持队列的首尾位置,这样减小了时间复杂度。那么与数组队列不同的地方还在于,当tail已经移动到索引为7的位置后,下一次再有元素入队,tail实际上会移动到索引为0的位置,所谓循环队列,应该把队列看作是一个圆环。最后,对于capacit...原创 2020-02-24 18:19:16 · 491 阅读 · 0 评论 -
玩转数据结构之数组队列
队列(Queue)也是一种线性结构相比数组,队列对应的操作试数组的子集只能从一端(队尾)添加元素,只能从另一端(队首)取出元素队列是一种先进先出的数据结构(先到先得 First In First Out)与之前栈的实现相同,通过多态来复用Array的方法public class ArrayQueue<E> implements Queue<E> {...原创 2020-02-24 16:13:29 · 114 阅读 · 0 评论 -
玩转数据结构之泛型、动态数组
接上一篇,自己完成了整个数组类的各种基本方法如:增删改查,这还不够,还可以使用泛型优化一下,让数组不仅仅可以存储整数值,还可以存储其他任何自定义的类。使用泛型首先在定义类的地方修改,使其可以存放类型为E的数据。然后相关的数据类型都需要修改。一个重要的地方就是在创建data的时候,必须使用强制类型转换,才能创建E类型的data。public class Array_wide<...原创 2020-02-20 16:13:55 · 229 阅读 · 0 评论 -
玩转数据结构之创造自己的数组
刘宇波老师的玩转数据结构讲的非常不错,记个笔记。学数据结构可以不用局限于语言,虽然课上使用的Java,但是同样可以使用其他任何语言来编写,这里记录Java的代码,后续会用Python重写上传github。1. 定义一个Array数组类,并添加构造函数定义这个类的基本属性public class Array { //定义成员变量 private int[] data;...原创 2020-02-20 15:03:39 · 608 阅读 · 0 评论