算法
zhao123sun
这个作者很懒,什么都没留下…
展开
-
【java】【二叉树】【线索化】
/** ** 线索化二叉树 ** 代码是在之前二叉树代码的基础上增加,重点关注threadedNodes() ** 方法。线索化直接理解代码有点困难。但是可以记一个重点:关键在** 于充分利用节点的左右指针。可以配合画图、代码一起理解,效果较**好 ** */public class BinaryTreeDemo { public static void main(String[] args) { HeroNode1 root = new HeroNode1(1, ".原创 2020-12-13 14:29:00 · 79 阅读 · 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 · 116 阅读 · 0 评论 -
【java】【二叉树】【删除节点】
/**** 二叉树相关代码,只是基于一个大示例小步迭代,层层递进的增加功能代码.** 这里只需要关注deleteNode()方法即可。** 全贴出来,只是便于测试而已。** 这里的删除节点,是限定条件的实现。** 条件: 1.如果删除的节点是叶子节点,则删除该节点。** 2.如果删除的节点非叶子节点,则删除该子树。** 这里未考虑有子节点的节点,删除该节点之后,元素的位置 ** 关系。*/public class BinaryTreeDemo1 { publi原创 2020-12-06 14:35:21 · 219 阅读 · 0 评论 -
【java】【二叉树】【前序、中序、后序查找】
package com.study.tree;/*** 前序\中序\后序查找主要关注的还是顺序。* 什么顺序先检查 根节点(node)视为具体 前 - 中 - 后序的查找算法得因由。* 所以,只要有了 顺序 的思路,就不难理解。* 唯一需要关注的是,前、中、后序的算法效率。* 目前测试的结果是:后序最优。* 但碍于目前理解尚浅,不懂的还很多,只好残念留之。**/public class BinaryTreeDemo1 { public static void main(String[原创 2020-12-06 13:05:16 · 132 阅读 · 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 · 234 阅读 · 2 评论 -
【java】【斐波那契数列查找算法】
public class FiboSearch3 { //斐波那契数列查找算法 //前提:有序 //还有几处,理解的还很不到位。 //但根据记忆口诀,目前算法已经可以复写。但如果不理解,或许记忆不会深刻。 //目前惟手勤尔,真的可行 public static void main(String[] args) { int [] arr = { 1,8,10,89,1000,1234 }; System.out.println( search(arr,1) ); } //获得斐波那契原创 2020-11-27 07:29:57 · 237 阅读 · 0 评论 -
【java】【快速排序】
public class QuickSort7 { public static void main(String[] args) { int [] arr = { -9,78,0,23,-567,70,66 }; sort(arr, 0, arr.length-1); System.out.println("排序后:" +Arrays.toString(arr)); } public static void sort( int [] arr, int left , int right原创 2020-11-27 05:04:44 · 166 阅读 · 0 评论 -
【java】【插值查找】
public class InsertValueSearch1 { public static void main(String[] args) { //插值查找前提同样是有序数组 int [] arr = { 1,2,3,4,5,6,7 }; System.out.println(search(arr, 0, arr.length-1, -8)); } public static int search( int [] arr, int left, int right, int fi原创 2020-11-27 04:38:25 · 201 阅读 · 0 评论 -
【java】【二分(折半)查找】
二分法查找前提是,数组一定要有序。public class BinarySearch { public static void main(String[] args) { int [] arr = { 1,3,5,7,9 }; System.out.println(search(arr, 0, arr.length-1, 70)); } public static int search( int [] arr, int left, int right, int value ) {原创 2020-11-26 15:18:12 · 73 阅读 · 0 评论 -
【java】【线性查找】
//只处理单词查找,未处理重复出现线性逻辑很简单:遍历比较即可。public class SeqSearch {public static void main(String[] args) { int [] arr = { 1,3,5,9,7,4 }; System.out.println( getValueIndex(arr, 8) );}public static int getValueIndex( int [] arr, int value ) { for (int i = 0原创 2020-11-26 14:31:45 · 84 阅读 · 0 评论 -
【希尔排序】【java】
希尔排序是改进之后的插入排序是为了解决最小值在最后,操作次数增多,影响效率的问题public class ShellSort6 { public static void main(String[] args) { int [] arr = { 5,4,0,7,3,2,1 }; sort(arr); System.out.println( Arrays.toString(arr) ); } public static void s...原创 2020-11-26 14:27:03 · 69 阅读 · 0 评论 -
【算法】【插入排序】【java】
import java.util.Arrays;public class InsertSort { public static void main(String[] args) { int[] arr = new int[] { 101, 34, 119, 1 }; System.out.println("数组排序前:" + Arrays.toString(arr)); sort(arr); System.out.println(...原创 2020-10-26 04:27:34 · 70 阅读 · 0 评论 -
【算法】【选择排序】【java】
import java.util.Arrays;/*** 选择排序* @author Administrator**/public class SelectSort { public static void main(String[] args) { // long A=System.currentTimeMillis();// System.out.println("执行代码块/方法----------------A:" + ...原创 2020-10-24 14:27:47 · 76 阅读 · 0 评论 -
【算法】【冒泡排序】【java】
import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { System.out.println("执行冒泡排序:"); int [] arr = new int[] { 10, 3, -1, 19, -2, 0 , 6, 8};// int [] arr = new int[8];...原创 2020-10-24 14:20:20 · 103 阅读 · 0 评论 -
【递归】【迷宫回溯】【java】
package com.study.recursion;/*** 迷宫回溯* @author Administrator**/public class MiGong { private static int[][] map = null; public static void main(String[] args) { init(); showMap(); setWay(map,1,1); showMa...原创 2020-10-22 09:29:33 · 76 阅读 · 0 评论