
数据结构
DYangV
今天又解决一个bug
展开
-
08-数据结构与算法-排序算法
排序算法概念: 排序是将一组数据,依指定的顺序进行排序八大排序直接插入排序 (插入排序)希尔排序(插入排序)简单选择排序(选择排序)堆排序(选择排序)冒泡排序(交换排序)快速排序(交换排序)归并排序基数排序 (桶排序)算法时间复杂度时间频度: 一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费的时间就多。一个算法中语句执行次数称为语句频度或时间频度。记为T(n)。...原创 2021-11-14 20:01:57 · 730 阅读 · 0 评论 -
07-数据结构与算法-递归
递归遵守规则当程序执行到一个方法时,就会开辟一个独立的空间(栈空间)方法的局部变量是独立的,不会互相影响,比如 n 变量如果方法中使用的是引用类型变量,就会共享改 引用类型变量数据递归必须向退出递归条件逼近,否则就是无限递归,会出现StackOverflowError当一个方法执行完毕,或遇到return ,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕递归–实现迷宫问题问题:终点在[6][5]位置,小球起始位置自定义,寻找小球到终点路径代码实原创 2021-11-14 19:26:28 · 272 阅读 · 0 评论 -
06-数据结构与算法--栈
数组实现栈思路使用数组模拟栈定义一个top标识为栈顶,初始化为-1入栈操作,当有数据加入到栈时,top++ ;stack[top] = data;出栈操作,value=stack[top]; top–代码实现/** * 思路 * 1、使用数组模拟栈 * 2、定义一个top标识为栈顶,初始化为-1 * 3、入栈操作,当有数据加入到栈时,top++ ;stack[top] = data; * 4、出栈操作,value=stack[top]; top-- */public clas原创 2021-11-14 19:18:31 · 446 阅读 · 0 评论 -
05-数据结构与算法-单向环形链表
单向环形链表问题:约瑟夫问题:设编号为1,2,3…n的n个人坐在一起,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个出列,以此类推,由此产生一个出队列的序列。...原创 2021-11-01 21:20:29 · 122 阅读 · 0 评论 -
04-数据结构与算法-双向链表
双向链表思路:遍历和单链表一样,只是可以向前或向后遍历。添加默认添加到链表末尾(1)、先找到最后一个节点;(2)、temp.next = newHearNode;(3)、newHearNode.pre = temp;修改和单向链表一样删除节点(1)、双向链表可以自我 删除,只需要找到待删除节点;(2)、temp.pre.next = temp.next(3)、temp.next.pre = temp.pre代码实现//创建一个双向链表的类class DoubleLinkLi原创 2021-11-01 21:06:57 · 100 阅读 · 0 评论 -
03-数据结构与算法-单链表实现
03-数据结构与算法-链表实现链表在内存中实际存储结构单链表逻辑图原创 2021-10-30 20:07:43 · 122 阅读 · 0 评论 -
02-数据结构与算法-数组实现队列
02-数据结构与算法-数组实现队列思路队列是一个有序列表,可以用数组或链表实现;遵循先入先出的原则,即存入队列的数据,要先取出,后存入的数据后取出以下示意图模拟队列代码实现如下数组实现队列/** * 使用数组模拟队列 */class ArrayQueue{ private int maxSize; //表示数组的最大容量 private int front; //指向队列头 private int rear; //指向队列尾 private in原创 2021-10-19 15:19:19 · 115 阅读 · 0 评论 -
01-数据结构与算法-稀疏数组
01-数据结构与算法-稀疏数组稀疏数组二维数组转稀疏数组思路稀疏数组转原始二维数组思路稀疏数组以五子棋为例,稀疏数组图例二维数组转稀疏数组思路遍历原始二维数组,得到有效数据个数sum,和列数n, n为3根据sum就可以创建稀疏数组 sparseArr int[sum+1][n],将二维数组的有效数据保存到稀疏数组稀疏数组转原始二维数组思路先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组,比如上面的chessArr2=int[11][11]再读取稀疏数组的第一行,根据第原创 2021-10-15 23:35:49 · 223 阅读 · 1 评论