
数据结构与算法
cyber御风
bug虐我千百遍,我待bug如初恋。
展开
-
数据结构(1):使用面向对象模拟数组
数组是一种常用的数据结构,数组具有不可变性,创建后的数组的长度固定,通过索引访问数组中的元素,访问速度快,删除添加效率低。通过面向对象模拟数组,模拟的数组具有以下功能:添加新元素展示查找元素所在位置根据索引获取元素根据索引删除元素修改指定位置的元素同时使用两个算法对数组进行操作:有序添加元素二分查找法1.创建数组类 MyArray.java数据如何存储呢?在类中添加...原创 2019-08-07 20:39:46 · 209 阅读 · 0 评论 -
数据结构(2):栈的原理和实现
一、介绍栈是一种数据先入后出,后入先出的数据结构。如果图所示,将数字 10、15、6、9 存入栈后,从栈中取到的数据按顺序将会是 9、6、15、10。栈的结构像我们生活中的箱子,最先放入的物品将会在箱子的最底部,最后放入的数据在最上面,拿物品时也需要从最上面拿起。二、代码实现1、创建 MyStack 类作为自定义的栈public class MyStack {}2、声明所需的属...原创 2019-08-10 20:59:45 · 279 阅读 · 0 评论 -
数据结构(3):队列的原理和实现
完整代码拉到最底下一、介绍队列顾名思义就像我们生活中排队一样,先进先出。如上图所示,25、16、5、9依次在队列中,按照顺序拿出的数据也分别是25、26、5、9。二、实现过程及思路底层使用数组来实现,实现的功能有插入数据到队尾、移除队首数据、查看队首数据、判断队列是否为空、判断队列是否存满。将队列的元素存储在数组的某个区间内,队列在数组中是连续的,所以使用变量标记队列在数组中的位置。...原创 2019-10-03 20:53:56 · 300 阅读 · 0 评论 -
数据结构(4):链表的原理和实现
文章目录上、简单的单端链表1、创建节点(车厢)2、创建链表(将车厢组合)3、判断链表是否为空4、添加数据到链表的头部5、移除首节点6、查看链表7、根据值查找链表中的节点8、根据值移除节点9、完整代码中、操作更简单的双端链表1、创建节点2、创建链表3、向前添加节点4、向后添加节点5、移除首节点6、完整代码下、方便高效的双向链表1、保存数据的节点2、创建链表指向首元素和尾元素3、向前添加元素4、向后添...原创 2019-10-04 09:16:46 · 592 阅读 · 0 评论 -
数据结构(5):树
这篇文章为你搞懂类和对象的使用对象:用来描述客观事物的实体,由一组属性和方法组成,万物皆对象。属性:就是对象的特征,像身高、体重、颜色方法:对象的行为,如跑、跳类:类是模子,定义对象将会拥有的属性和方法。类是抽象的概念,比如“书”定义类语法:public class 类名{ 属性1的类型 属性1; 属性n的类型 属性n; …… 方法1; 方法m...原创 2019-10-05 11:34:59 · 168 阅读 · 0 评论