数据结构和算法
LiLiLiLaLa
石棉
展开
-
数据结构——链表以及双向链表
1.Java链表Java链表节点结构:class Node{ private Object data;//存储内容 private Node next;//定义下一个节点 public Node(Object data){ this.data = data; } public void setData(Object data){ ...原创 2019-03-01 23:14:35 · 531 阅读 · 0 评论 -
数据结构——链表
1.链表属于动态数据结构——需要多少空间开多少空间。2.思路如下:不能直接使用Node节点,客户端只关心数据的存储而不关心节点间的关系,因此将Node结点作为内部类隐藏起来LinkedList:相当于火车,具体连接每个节点,客户端使用此类Node:相当于火车车厢,存放数据//简单实现三个位置的插入package LinkedList;/** * LinkedList:相当于火...原创 2019-05-13 20:55:18 · 295 阅读 · 3 评论 -
复杂度分析
1.为何需要复杂度分析我们大可以将代码跑一便,通过统计、监控等手段可以得到算法执行时间和占用内存情况,为什么还要做时间空间复杂度分析呢?这种方法其实也是正确的,叫做事后统计法,但是这种方法具有非常大的局限性,其原因如下:测试结果非常依赖测试环境测试结果受数据规模影响较大所以,我们通常使用时间复杂度和空间复杂度两种方式表示算法的复杂度2.大O时间复杂度表示int cal(int n)...原创 2019-04-18 15:31:20 · 565 阅读 · 0 评论 -
数据结构——稀疏数组
数据结构:线性结构:(1)数据元素之间存在一对一线性关系(2)有两种不同存储结构,即顺序存储结构和链式存储结构,顺序存储的线性结构为顺序表,顺序表中的存储单元是连续的(3)链式存储结构的线性表称为链表,链表中元素不一定连续,元素节点中存放数据元素以及相邻节点的地址信息(4)常见的线性结构:数组、队列、链表和栈非线性结构:包括二维数组、多维数组、广义表、树结构、图结构1.稀疏数组...原创 2019-07-16 23:16:30 · 382 阅读 · 3 评论 -
数据结构——数组模拟实现队列
1.队列介绍队列是一个有序列表,可以用数组或是链表来实现,它遵循先进先出原则2.队列的实现2.1.数组模拟实现队列2.1.1.思路队列本身是有序列表,若使用数组的结构来存储队列的数据:设置maxSize为该队列最大容量因为队列的输入输出分别从前后端来处理,因此需要head和tail分别记录队列前后端的下标,head会随着数据的输出而改变,而tail随着数据的输入而改变当tail=...原创 2019-07-17 23:42:22 · 256 阅读 · 1 评论