
数据结构与算法分析
LYZ0907
SHOW YOUR CODE.
展开
-
算法1.1 下压(LIFO)栈 (能够动态调整数组大小的实现)
算法1.1 下压(LIFO)栈 (能够动态调整数组大小的实现)// code原创 2017-05-20 17:47:09 · 769 阅读 · 0 评论 -
【排序算法】 插入排序 insertion sort(插入类排序)
排序算法 插入排序 insertion sortpackage algorithm.algorithm4.ch02_sort;import org.junit.Test;import java.util.Arrays;import java.util.Random;/** * description: * * @author liyazhou * @create 2017-06-20 10原创 2017-06-20 12:50:33 · 622 阅读 · 0 评论 -
【排序算法】 选择排序 selection sort(选择类排序)
排序算法 选择排序 selection sortpackage algorithm.algorithm4.ch02_sort;/** * description: selection sort * * @author liyazhou * @create 2017-06-20 10:05 */import org.junit.Test;import java.util.Arrays;im原创 2017-06-20 10:42:53 · 939 阅读 · 0 评论 -
【排序算法】 快速排序 quick sort(交换类排序)
排序算法 插入类排序 快速排序 quick sort在 数据结构与算法动态可视化 网站,可以观看排序时元素位置变化的过程。package algorithm.algorithm4.ch02_sort;import org.junit.Test;import java.util.Arrays;import java.util.Random;/** * description: * * @aut原创 2017-06-21 14:04:57 · 714 阅读 · 0 评论 -
【排序算法】 堆排序 heap sort(选择类排序)
排序算法 选择排序 堆排序 heap sortpackage algorithm.algorithm4.ch02_sort;import org.junit.Test;import java.util.Arrays;import java.util.Random;/** * algorithm: heap sort,堆排序 * * algorithm thought: * * algor原创 2017-06-22 22:17:02 · 647 阅读 · 0 评论 -
【排序算法 】希尔排序 shell sort(插入类排序)
排序算法 希尔排序 shell sortpackage algorithm.algorithm4.ch02_sort;import org.junit.Test;import java.util.Arrays;import java.util.Random;/** * description: * * @author liyazhou * @create 2017-06-20 12:55原创 2017-06-20 18:32:31 · 586 阅读 · 0 评论 -
数据结构与算法题目
数据结构与算法面试题目对B树的理解【2017阿里电话面试真题】对散列表的理解【2017阿里电话面试真题】对红黑树的理解【2017阿里电话面试真题】从特性、性能和优缺点等角度阐述。数据结构中常用的排序算法几个最短路径算法和具体实现平衡树原创 2017-08-09 10:09:31 · 340 阅读 · 0 评论 -
【排序算法】冒泡排序 bubble sort(交换类排序)
【排序算法】冒泡排序 bubble sort(交换类排序)冒泡排序的描述遍历数组array,下标 i 的范围是[0, length); 当遍历到下标为 i 的元素时,当前元素和 [i, length)中的最小元素交换位置。 通俗的描述是, 遍历数组,选择当前位置到末尾的所有元素中的最小者,与当前元素交换位置 也即是,不断地选择剩余元素(原创 2017-08-09 09:16:38 · 1195 阅读 · 0 评论 -
【排序算法】排序算法总结
排序算法】排序算法总结排序算法分类插入排序: 直接插入、希尔排序 选择排序: 简单选择、堆排序 交换排序: 冒泡排序、快速排序 归并排序: 归并排序桶排序、基数排序、计数排序 排序算法总结简单的排序冒泡排序 bubble sort选择排序 selection sort直接插入排序 straight insertion sort折半插入排序 binary insert sort复杂的排原创 2017-06-14 09:03:43 · 732 阅读 · 0 评论 -
【排序算法】 归并排序 merge sort
排序算法 归并排序 merge sortpackage algorithm.algorithm4.ch02_sort;import org.junit.Test;import java.util.Arrays;import java.util.Random;/** * description: * * @author liyazhou * @create 2017-06-21 14:41原创 2017-06-21 21:29:38 · 617 阅读 · 0 评论 -
【二叉树】 前序、中序和后序的递归遍历与非递归遍历
二叉树的前序、中序和后序的递归遍历与非递归遍历前序遍历前序遍历的递归遍历前序遍历的非递归遍历中序遍历中序遍历的递归遍历中序遍历非递归遍历后续遍历后序遍历的递归遍历后续遍历的非递归遍历原创 2017-06-14 08:52:10 · 548 阅读 · 0 评论 -
排序算法分类-1
一、比较排序 二、原创 2014-07-04 09:49:49 · 483 阅读 · 0 评论 -
查找——折半查找(二分查找、二叉搜索)
简单的折半查找方法public static int binSearch(int[] arr, int first ,int last, int target){ int mid; int midValue; while(first < last){ mid = (first + last) / 2; midValue = arr[mid];原创 2016-01-02 19:06:57 · 550 阅读 · 0 评论 -
算法4.4 最短路径
4.4 最短路径4.4.1 定义原创 2017-05-05 10:50:11 · 307 阅读 · 0 评论 -
算法4.3 最小生成树
最小生成树4.3.1 定义原创 2017-05-05 10:49:07 · 647 阅读 · 0 评论 -
算法4.2 有向图
有向图定义有向图(DiGraph): 一幅有方向性的图(有向图)是由一组顶点和一组有方向的边组成的,每条有方向的边都连接着有序的一对顶点。有向图的表示和无向图一样,一般使用邻接表表示有向图。 和无向图的差别是,有向图中的边是单向的。有向图的可达性单点或多点可达性单点可达性:给定一幅有向图和一个起点 s, 判断是否存在一条从 s 到达给定顶点 v 的有向路径。多点可达性:给定一幅有向图和顶点的集合原创 2017-05-05 10:39:19 · 962 阅读 · 0 评论 -
算法4.1 无向图
无向图4.1 定义:图是由一组顶点和和一组能够将两个顶点相连的边组成的。特殊的图,自环,即一条连接一个顶点和其自身的边;连接同一个对顶点的两条边称为平行边。常常将含有平行边的图称为多重图,而将没有平行边或自环的图称为简单图。4.1.1 术语表子图顶点的度数路径,是由边顺序连接的一系列顶点。简单路径,是一条没有重复顶点的路径。两个顶点是连通的连通图,如果从任意一个顶点都存在一条路径到原创 2017-04-08 22:04:05 · 1127 阅读 · 0 评论 -
递归
用递归的方法实现十进制向其他进制的转化public static String baseString(int n, int b){ String str = ""; String digitChar = "0123456789abcdef"; if(n == 0){ //递归终止条件 return ""; } else{ //递原创 2016-01-03 22:32:30 · 399 阅读 · 0 评论 -
动态规划
动态规划 Dynamic Programming原创 2017-06-20 20:43:05 · 326 阅读 · 0 评论 -
二叉树题目汇总
二叉树题目汇总二叉树的遍历(前序、中序、后序遍历和层次遍历)重建二叉树二叉树镜像二叉树的深度二叉树的宽度判断二叉搜索树的后序遍历是否合法判断一颗二叉树是否是平衡二叉树判断一棵二叉树是否为完全二叉树二叉树中和为某一值的路径将二叉树搜索树转化为双向链表求二叉树第 k 层结点个数求二叉树两个结点的最低公共祖先结点求二叉树中两个结点的最大距离序列化和反序列化二叉树原创 2017-06-19 17:22:38 · 466 阅读 · 0 评论 -
排序算法——选择类排序——简单选择排序
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法原创 2014-07-04 09:19:49 · 560 阅读 · 0 评论 -
排序算法——交换类排序——冒泡排序
冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。转载 2014-07-04 08:43:37 · 582 阅读 · 0 评论 -
【查找】二分查找
二分查找,也称为折半查找/** * 二分查找,折半查找 * @param arr 有序数组 * @param key 关键字 * @return 关键字在数组中的下标 */public int binsearch(int[] arr, int key){ int low = 0; int high = arr.length-1; while(low <= high原创 2017-09-03 15:29:11 · 282 阅读 · 0 评论