
数据结构和算法
。。。
稳定的穷
这个作者很懒,什么都没留下…
展开
-
前缀树的构造+应用
抽象:关键是成员变量的构造 class Trie { //成员变量(本层孩子+末节点的标志) private Trie[] children; private boolean isEnd; public Trie() { children=new Trie[26]; isEnd=false; } public void insert(String word) { Trie cur=this; .原创 2022-03-09 17:39:05 · 208 阅读 · 0 评论 -
用两个栈实现单向队列+用两个队列实现栈
用两个栈实现单向队列 class MyQueue { Stack<Integer> stackin; Stack<Integer> stackout; public MyQueue() { stackin=new Stack<Integer>(); stackout=new Stack<Integer>(); } //保证队列非空 public void push(int原创 2022-03-01 16:05:58 · 153 阅读 · 0 评论 -
实现单向链表(假头)和双向链表(假头和假尾)
看清合法与不合法的要求!!!! 单向链表(别忘了节点类) //创建链表的节点 public class ListNode { int val; ListNode next; ListNode(int val){ this.val=val; } } //链表的尺寸和“假”头结点 class MyLinkedList { int size; ListNode head; public MyLinked原创 2022-03-01 17:28:50 · 599 阅读 · 0 评论 -
数据结构与算法st13:程序员常用的十种算法
文章目录二分查找算法(非递归版)分治算法动态规划算法暴力匹配算法 二分查找算法(非递归版) 分治算法 动态规划算法 暴力匹配算法原创 2021-12-24 15:29:55 · 2576 阅读 · 0 评论 -
数据结构与算法st12:图的学习
文章目录图概念:定点+边(+方向+权值)图的深度优先(DFS)图的广度优先(BFS) 图概念:定点+边(+方向+权值) 图的深度优先(DFS) 深度优先遍历(递归+回溯): 下图的例子:A-B-C-(回溯到B)-D-(回溯到B)-E 图的广度优先(BFS) ...原创 2021-12-24 09:15:35 · 605 阅读 · 0 评论 -
数据结构与算法st11:树的学习
为什么需要树结构: 数组的扩容(Arraylist扩容): 二叉树的基本概念: 二叉树的遍历: //前序遍历(本-左-右) public void preorder(){ System.out.println(this); if(this.left!=null){ this.left.preorder(); } if(this.right!=null){ this原创 2021-12-18 11:41:59 · 440 阅读 · 0 评论 -
数据结构与算法st10:查找算法学习之哈希表(散列表)
哈希表用来作为缓存层 案例实现–创建哈希表原创 2021-12-17 19:21:14 · 738 阅读 · 0 评论 -
数据结构与算法st10:查找算法学习
二分查找(递归)----针对“有序”的数组 public static int search(int[] arr,int left,int right,int findv){ if(left>right||findv<arr[0]||findv>arr[arr.length-1]){//没有找到个数,结束递归 return -1; } int mid=(left+right)/2; int.原创 2021-12-17 16:23:58 · 374 阅读 · 0 评论 -
数据结构与算法st9:排序算法学习
冒泡排序:(相邻元素进行比较并交换) 步骤3:是对冒泡排序的优化!!! //优化后的冒泡排序 public static int[] bubble(int[] arr){ int temp=0; boolean flag=false;//优化冒泡排序 //外面的大排序:数组的长度减1 for (int i = 0; i < arr.length-1; i++) { flag=false;原创 2021-12-12 21:22:56 · 589 阅读 · 0 评论 -
数据结构与算法st8:递归(方法自己调用自己)和回溯算法学习
开辟独立的栈空间相当于是入栈,而方法返回return相当于出栈(递归的运行机制的底层原理是栈!!!!) 案例一:迷宫回溯问题:(使用二维数组来模拟)原创 2021-12-10 17:05:05 · 432 阅读 · 0 评论 -
数据结构与算法st7:前缀,中缀,后缀表达式的计算机计算(栈的思想)
中缀转后缀的程序思路分析(这个算法了解一下就好,背不出来的): 注意中缀表达式上可以有括号,但是转换后的后缀表达式没有括号原创 2021-12-08 20:43:07 · 211 阅读 · 0 评论 -
数据结构与算法st6:栈的学习
原创 2021-12-06 20:38:16 · 108 阅读 · 0 评论 -
数据结构与算法st5:单向环形链表(约瑟夫问题)
注意第一个小孩在创建时,自己担任构成闭合环形!!!原创 2021-12-05 17:32:42 · 216 阅读 · 0 评论 -
数据结构与算法st4:双向链表的学习
note:注意删除最后一个节点 //删除链表的节点(自我删除,不需要借助删除节点的前一个节点) public void delete(int no){ if(head.next==null){ System.out.println("链表是空的,不能删除节点"); return; } //寻找要删除节点的前一个节点 HeronodeD temp=head.next; .原创 2021-12-05 16:13:14 · 488 阅读 · 0 评论 -
数据结构与算法st3:单向链表的学习(英雄的增删改查)
链表中的next详解: 实际也没有多神奇就是不断的赋值给:此节点对象的next变量赋值为下一个节点的对象(如下:创建person对象,并创建next成员变量,每次给本节点person对象的next变量赋值为你想接下去的下一个节点的person对象。我们利用地址查看验证) ...原创 2021-12-04 16:53:07 · 480 阅读 · 0 评论 -
数据结构与算法st2:队列学习(数组模拟一次性队列和环形队列)
原创 2021-12-04 10:24:13 · 108 阅读 · 0 评论 -
数据结构与算法st1:稀疏数组的学习(五子棋的存盘与续盘)
相当于2维数组与稀疏数组之间的转换问题,稀疏数组的存储需要IO流的知识进行完成 在这里插入代码片原创 2021-12-03 21:57:48 · 995 阅读 · 0 评论