算法思路
明成天下
做个技术达人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
输入字符串以单词为单位进行反转
2.实现一个方法,输入字符串以单词为单位进行反转,例如I like you 反转为you like I,不可使用String等char[] reverse(char[] input)package com.leetcode;/** * 转换字符串中单词的顺序 * 输入:"the sky is blue" 输出:"blue is sky the" 必须用原始的char[] */public class ReverseCharArray { public char[] reverseWo原创 2020-12-26 14:36:04 · 741 阅读 · 0 评论 -
二分搜索树的查找-----字典数据的应用
优点:1.查找,插入,删除都是高效的2.方便找到数据之间的关系,min,max,select(找到第几名),floor,ceil二分搜索树,不一定是完全二叉树。...原创 2020-12-22 17:54:23 · 196 阅读 · 0 评论 -
堆的认识
1.从1开始的数组存储堆2.最大堆,向下移动,用于最大值出堆3.从0开始的数组存储二叉堆原创 2020-03-31 15:21:18 · 122 阅读 · 0 评论 -
红黑树深入理解
插入的节点默认为红色3.插入操作原创 2020-04-22 18:00:16 · 132 阅读 · 0 评论 -
二分搜索树删除任一节点-Hubbard Deletion
package com.xmg.tree;import java.util.LinkedList;import java.util.Queue;/** * 二分搜索树---不一定是完全二叉树 * * BST -- binary search tree * * 查找表的实现-字典数据结构 * * 高效,查找,插入,删除都可以 */public class Bi...原创 2020-04-09 09:27:13 · 189 阅读 · 0 评论 -
二分查找法,有序数列
1.二分查找法,只能在作用于有序数列。private static int binarySearch(Comparable[] arr,Comparable target){ //arr[r,r]之间查找 int l = 0, r= arr.length -1; while(l<=r){ //mid = (l+r)/2 可能产生大整数越界 int mid = l...原创 2020-04-02 09:48:42 · 567 阅读 · 0 评论 -
O(nlgn)排序-归并排序-快速排序及优化
1.归并排序---等分数组-递归合并/** * 递归使用归并排序,对arr[l...r]的范围进行排序 * * @param arr * @param l * @param r */ private static void mergeSortOwn(int[] arr, int l, int r) {// if (l >= r) {// re...原创 2020-04-01 10:23:31 · 178 阅读 · 0 评论 -
选择排序,插入排序,冒泡排序
1.选择排序找到最小位置的index然后和前面交换。private static void selectionSort(int[] arr){ int n = arr.length; for(int i=0;i<n;i++){ // 寻找[i,n]的最小值 int minIndex = i; for(int j=i+1;j<n;j++){ i...原创 2020-04-01 10:10:47 · 107 阅读 · 0 评论 -
二叉树的创建及非递归遍历
这里写目录标题二叉树创建二叉树先序遍历二叉树中序遍历后序遍历层序遍历辅助方法main方法二叉树创建/** * 递归构建二叉树 * * @param arr * @param index * @return */ private static TreeNode createTree(String[] arr, int index) { TreeNode tn = null; if (index < arr.length) { if (arr[index].e原创 2020-05-14 18:17:59 · 277 阅读 · 0 评论 -
java 通过字符串建立二叉树
package mian.erchashu;/** * 给定字符串建立二叉树 空节点用null表示 * * @author xuminggang * */public class StringToBinaryTree { public static void main(String[] args) { TreeNode root = stringToTree("[3,9,20,2,null,15,7]"); new StringToBinaryTree().preOrder(r原创 2020-05-14 11:18:56 · 2098 阅读 · 0 评论 -
面试汇总1
1.有两个水桶一个可以装水5KG一个可以装水13KG不用称怎么装出7KG水?思路:7kg = 13kg - 5kg -1kg想办法让5kg的水桶存着4kg水,这样从13kg倒入1kg水后,将小桶倒掉,打通剩余12kg再将5kg桶倒满,大桶剩余7kg流程: 13kg为大桶,5kg为小桶, 1).大桶装满水,倒入小桶三次,小桶剩余3kg 2).大桶装满,再倒入小桶,大桶剩...原创 2020-04-10 11:11:38 · 199 阅读 · 0 评论
分享