面试题
poppy917
这个作者很懒,什么都没留下…
展开
-
汉诺塔问题
超级好玩的解说https://blog.csdn.net/qq_37873310/article/details/80461767githubhttps://github.com/CyC2018/CS-Notes/blob/master/docs/notes/算法 - 其它.md代码如下哈哈哈public class Hanoi { public static void move...转载 2019-04-22 09:29:32 · 99 阅读 · 0 评论 -
哈希表相关概念
参考:https://www.cnblogs.com/songdechiu/p/6954038.htmlhttps://github.com/CyC2018/CS-Notes/blob/master/docs/notes/算法 - 符号表.md1. 第一步是用哈希函数将键转换为数组的一个索引,理想情况下不同的键都能转换为不同的索引值,但是实际上会有多个键哈希到到相同索引值上。因此,第二步就...转载 2019-04-22 09:29:46 · 315 阅读 · 0 评论 -
二叉查找树
二叉查找树 (BST)是一颗二叉树,并且每个节点的值都大于等于其左子树中的所有节点的值而小于等于右子树的所有节点的值。BST 有一个重要性质,就是它的中序遍历结果递增排序。详细分析请见https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/算法 - 符号表.md...原创 2019-04-19 20:25:33 · 150 阅读 · 0 评论 -
栈与队列的实现
以下为转载,仅供我学习~https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/栈数组实现链表实现队列栈public interface MyStack<Item> extends Iterable<Item> { MyStack<Item> push(Item item)...转载 2019-04-19 19:37:24 · 122 阅读 · 0 评论 -
归并排序
代码很简单的,多看看就会啦~~冲呀!!!public static int[] sort(int[] array, int left, int right) { if (left == right) { return new int[] { array[left] }; } int mid = (right + left) / 2; int...转载 2019-04-19 15:48:51 · 91 阅读 · 0 评论 -
希尔排序
详细请见https://www.cnblogs.com/chengxiao/p/6104371.html将大的转化为小的进行排序import java.util.Arrays;public class ShellSort { public static void main(String []args){ int []arr ={1,4,2,7,9,8,3,6};...转载 2019-04-19 15:39:32 · 89 阅读 · 0 评论 -
洗牌shuffle
一种是自己写 使用Math.random()函数另外一种直接使用集合类import java.util.Arrays;import java.util.Collections; public static void shuffle(Integer[] a) { List<Integer> l=Arrays.asList(a); Collections.shuffle...原创 2019-04-19 15:27:00 · 128 阅读 · 0 评论 -
插入排序
public static void insertSort(int a[]) { for(int i=1;i<a.length;i++) { int j=i; int temp=a[j]; while(j>0 && a[j-1]>temp) { a[j]=a[j-1]; j--; } a[j]=temp; ...原创 2019-04-19 14:59:07 · 87 阅读 · 0 评论 -
时间复杂度
我是搬运工,写下来仅作为自己复习哈。我们来看一下这个例子,用的是java,内容就是打印8条语句,问这个程序的时间复杂度是多少?public class TS { public static void main(String[] args) { System.out.println("111"); System.out.println("111"); System.out.prin...转载 2019-04-19 10:58:39 · 147 阅读 · 0 评论 -
输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的push和pop序列:push 1,push 2,push 3,push 4,pop,push 5,pop,pop,pop...转载 2019-04-19 10:12:48 · 326 阅读 · 0 评论 -
快速排序之topk
使用快排解决top k的问题 解法是最优的时间复杂度 O(N),空间复杂度 O(1)public class Qs { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("dss"); int array[]= {3,2,1,2,5...转载 2019-04-19 09:12:23 · 1640 阅读 · 0 评论 -
堆排序
import java.util.Arrays;public class H123 { public static void main(String[] args) { int []a= {1,4,3,2,7,5,6}; sort (a); System.out.println(Arrays.toString(a)); } public static void sort...转载 2019-04-18 21:16:46 · 1079 阅读 · 0 评论 -
Arrays.sort()
代码搬运工如下:1、Arrays.sort(int[] a)这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。举例如下(点“+”可查看代码): 1 import java.util.Arrays; 2 3 public class Main { 4 public static void main(String[] args) { 5 6...转载 2019-04-18 18:44:58 · 109 阅读 · 0 评论 -
javacollection
Deque接口继承了Queue接口,而Queue接口继承了Collection接口,LinkedList实现了Deque接口;Collection–>Queue–>Deque–>LinkedList(实现类)arrayList: https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/ArrayList....转载 2019-04-18 16:18:04 · 122 阅读 · 0 评论 -
哈夫曼编码之大根堆小根堆揭西县
哈夫曼编码根据数据出现的频率对数据进行编码,从而压缩原始数据。例如对于一个文本文件,其中各种字符出现的次数如下:a : 10b : 20c : 40d : 80可以将每种字符转换成二进制编码,例如将 a 转换为 00,b 转换为 01,c 转换为 10,d 转换为 11。这是最简单的一种编码方式,没有考虑各个字符的权值(出现频率)。而哈夫曼编码采用了贪心策略,使出现频率最高的字符的编...转载 2019-04-22 15:37:43 · 393 阅读 · 0 评论 -
考研面试复习题
操作系统1. 通道技术,DMA, 两者的区别是什么?这两个技术哪个先提出来的?哪个性能更强?DMA (Direct memory access)直接内存访问,数据交换不经过CPU,直接在内存和I/O 设备之间进行。常用的设备和CPU之间数据传送控制方式有4种,它们是程序直接控制方式、中断控制方式、DMA方式和通道方式。程序直接控制方式和中断控制方式都只适用于简单的、外设很少的计算机系统,因...原创 2019-07-16 19:32:14 · 500 阅读 · 0 评论