数据结构
zhao123sun
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【java】【二叉树】【线索化】
/** ** 线索化二叉树 ** 代码是在之前二叉树代码的基础上增加,重点关注threadedNodes() ** 方法。线索化直接理解代码有点困难。但是可以记一个重点:关键在** 于充分利用节点的左右指针。可以配合画图、代码一起理解,效果较**好 ** */public class BinaryTreeDemo { public static void main(String[] args) { HeroNode1 root = new HeroNode1(1, ".原创 2020-12-13 14:29:00 · 118 阅读 · 0 评论 -
【Java】【顺序存储二叉树】
package com.study;import java.util.Arrays;public class ArrBinaryTreeDemo { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7}; ArrBinaryTree tree = new ArrBinaryTree(arr); tree.preOrder(0); } }class ArrBinaryTree{原创 2020-12-10 12:45:52 · 154 阅读 · 0 评论 -
【java】【二叉树】【删除节点】
/**** 二叉树相关代码,只是基于一个大示例小步迭代,层层递进的增加功能代码.** 这里只需要关注deleteNode()方法即可。** 全贴出来,只是便于测试而已。** 这里的删除节点,是限定条件的实现。** 条件: 1.如果删除的节点是叶子节点,则删除该节点。** 2.如果删除的节点非叶子节点,则删除该子树。** 这里未考虑有子节点的节点,删除该节点之后,元素的位置 ** 关系。*/public class BinaryTreeDemo1 { publi原创 2020-12-06 14:35:21 · 275 阅读 · 0 评论 -
【java】【二叉树】【前序、中序、后序查找】
package com.study.tree;/*** 前序\中序\后序查找主要关注的还是顺序。* 什么顺序先检查 根节点(node)视为具体 前 - 中 - 后序的查找算法得因由。* 所以,只要有了 顺序 的思路,就不难理解。* 唯一需要关注的是,前、中、后序的算法效率。* 目前测试的结果是:后序最优。* 但碍于目前理解尚浅,不懂的还很多,只好残念留之。**/public class BinaryTreeDemo1 { public static void main(String[原创 2020-12-06 13:05:16 · 172 阅读 · 0 评论 -
【java】【二叉树】【前序、中序、后序遍历】
/*** 二叉树前序、中序、后序遍历* 所谓前、中、后序遍历, 区别主旨关注在根节点的输出时机* 前序:最早* 中序:其次* 后序:最晚**/class BinaryTree1{ private HeroNode1 node; public void preOrder() { if( node != null ) { this.node.preOrder(); }else{ System.out.println( "二叉树为空,无法遍历" ); } }.原创 2020-12-02 03:48:43 · 269 阅读 · 2 评论 -
【java】【HashTable】【哈希表】
/*** 哈希表实现思路 : 主要脑子里有实现链表的思路就不难。* hash表真的像常背的面试题一样,主要构成:数组 + 链表* 1.HashTable 比 链表 多一个hash方法(关键)* 2.HashTable 对底层实现的链表 又包装了一层* 3.HashTable里保存LinkedList引用。* 4.链表 在 HashTable 里的表现形式又是 数组。* * PS:这只是Hash表的一个最简单实现,基于此可以继续完善。* 至于 hash 的多种方式实现。都可以在此基础上进行.原创 2020-11-28 03:04:48 · 251 阅读 · 2 评论 -
【java】实现【栈】
public class StackDemo { public static void main(String[] args) { Stack s = new Stack(5); s.push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.showStack(); }}class Stack{ //栈大小...原创 2020-10-21 08:18:14 · 112 阅读 · 0 评论 -
【java】实现【双向链表】
public class DoubleLinkedListDemo { public static void main(String[] args) { DoubleLinkedList dList = new DoubleLinkedList(); HeroNode2 n1= new HeroNode2(1, "卢俊义", "玉麒麟"); HeroNode2 n5= new HeroNode2(5, "关胜", "大刀"); ...原创 2020-10-21 05:31:21 · 112 阅读 · 0 评论 -
【java】实现【单链表】
public class SingleLinkedListDemo { public static void main(String[] args) { HeroNode h1 = new HeroNode(1, "宋江", "及时雨"); HeroNode h3 = new HeroNode(7, "吴用", "智多星"); HeroNode h4 = new HeroNode(9, "林冲", "豹子头"); SingleLi...原创 2020-10-20 04:21:56 · 104 阅读 · 0 评论
分享