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