![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
zzqrj
这个作者很懒,什么都没留下…
展开
-
Java 插入排序 (基于数组) 附图解
public class InsertSort { public void insertionSort(int[] arr, int length) { int unsortedIndex,location; int temp; for(unsortedIndex=1;unsortedIndex<length;unsortedIndex++){ if(arr[u...原创 2010-01-17 10:37:28 · 97 阅读 · 0 评论 -
Java 选择排序 (基于数组) 附图解
步骤: 从表的开始位置进行比较,每次迭代 1.找出最小元素的位置 2.将这个最小元素移到未排序表的起始位置 比较次数O(n2),交换次数O(n) 如图所示: public class SelectionSort { public void selectionSort(int[] arr, int last) { int i, minI...原创 2010-01-17 10:39:17 · 98 阅读 · 0 评论 -
Java 快排 (基于数组) 附图解
采用分而治之的技术 步骤: 1. 确定中心元素,然后将中心元素与表的第一个元素交换 索引smallIndex 指向小于中心元素的最后一个元素,初始化为表中的第一个元素 2.对于表中剩余的元素 如果当前元素小于中心元素 a. smallIndex加1 b. 交换当前元素和由small...原创 2010-01-17 10:41:34 · 116 阅读 · 0 评论 -
Java 归并排序(基于数组)
归并排序:归并算法的中心是归并两个已经有序的数组,并且递归调用归并操作。 优点和缺点:比简单排序在速度上快很多;归并排序会占用双倍的存储空间。 效率:归并排序的时间复杂度是 O(N*LogN);简单排序的复杂度是O(N2)。 每一趟归并的时间复杂度为 O(n), 需要O(logn)次归并 class MergerSort { // 归并排序算法 public v...原创 2010-01-17 10:45:15 · 348 阅读 · 0 评论 -
Java 堆排 (基于数组) 附图解
堆的定义: 堆是这样一种表,其中每个元素均包含一个键值,表中位置k的元素键值至少与位置2k+1的元素(如果存在)或位置2k+2的元素(如果存在)的键值一样大。 构建堆的时间复杂度O(n) 调整堆的时间复杂度O(log2n) 堆排序时间复杂度O(nlog2n) 堆排序不稳定 public class HeapSort { private vo...原创 2010-01-17 10:48:03 · 125 阅读 · 0 评论 -
Java 搜索算法(顺序搜索,二叉搜索)
public class sequenceQuery { /* 对于无序表的搜索 顺序搜索*/ public int seqSearch(int[] datalist, int target) { for (int i = 0; i < datalist.length; i++) { if (datalist[i] == target) return i; ...原创 2010-01-17 10:51:01 · 98 阅读 · 0 评论 -
FIFO(First in First out)算法 LRU(Least Recently Used)最久未使用淘汰算法
09年9月28日,参加东软高端就业笔试,专业笔试关于缓存调度算法,由于事先没有准备,仓惶作答,漏洞百出,今作以总结,以备后用。 FIFO package Fifo; //FIFO(Firt in First out)算法 class Page { private int num; public Page(int num) { this.num = num; ...原创 2010-01-20 20:27:10 · 427 阅读 · 0 评论 -
动态规划
动态规划原创 2010-01-28 20:45:16 · 87 阅读 · 0 评论 -
二叉搜索树、图
二叉搜索树、图原创 2010-01-28 20:46:25 · 63 阅读 · 0 评论