04 2019 档案

摘要:题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。分析二叉搜索树的一个特点就是二叉搜索树的中序遍历得到的序列是递增有序的,那么想要获得节点数值大小顺序第几,可以通过中... 阅读全文
posted @ 2019-04-12 11:11 如是说 阅读(1371) 评论(0) 推荐(0) 编辑
摘要:题目描述请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个... 阅读全文
posted @ 2019-04-11 21:19 如是说 阅读(3764) 评论(0) 推荐(0) 编辑
摘要:题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class So... 阅读全文
posted @ 2019-04-10 21:29 如是说 阅读(311) 评论(0) 推荐(0) 编辑
摘要:题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。分析可以使用两个栈,一个用来保存奇数层的节点,一个用来保存偶数层的节点。奇数层的节点在栈中顺序是从栈底到栈... 阅读全文
posted @ 2019-04-10 21:27 如是说 阅读(613) 评论(0) 推荐(0) 编辑
摘要:题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。分析上图中的三棵二叉树中,第一棵是对称的,另外两棵不是。通常前序遍历中都是先遍历左子树在遍历右子树,我们可以定义一种遍历使其先遍历右子树在遍... 阅读全文
posted @ 2019-04-09 22:22 如是说 阅读(955) 评论(0) 推荐(0) 编辑
摘要:题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。分析如果一个节点有右子树,那么中序遍历的下一个节点就是它的右子树中的最左子节点如果一个节点没有右子树,且该节点是其父... 阅读全文
posted @ 2019-04-09 22:14 如是说 阅读(670) 评论(0) 推荐(0) 编辑
摘要:题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5分析借用了队列的思想。在一个排序链表中如果有一个节点不重复,那么该节点和前后节... 阅读全文
posted @ 2019-04-09 22:05 如是说 阅读(912) 评论(0) 推荐(0) 编辑
摘要:题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。分析第一步:确定一个链表中是否有环我们可以用两个指针来解决,定义两个指针,同时从链表的头结点触发,一个指针一次走一步,另一个指针一次走两步。如果走的块的指针追上了走的慢的指针,... 阅读全文
posted @ 2019-04-09 22:01 如是说 阅读(310) 评论(0) 推荐(0) 编辑
摘要:题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一... 阅读全文
posted @ 2019-04-09 21:49 如是说 阅读(291) 评论(0) 推荐(0) 编辑
摘要:基数排序是桶排序的扩展算法,其思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较排序。算法流程:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有... 阅读全文
posted @ 2019-04-09 14:13 如是说 阅读(410) 评论(0) 推荐(0) 编辑
摘要:题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。方法... 阅读全文
posted @ 2019-04-08 22:26 如是说 阅读(251) 评论(0) 推荐(0) 编辑
摘要:题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。方法一阶乘即可,但是时间复杂度高. public int[] multi... 阅读全文
posted @ 2019-04-08 22:24 如是说 阅读(403) 评论(0) 推荐(0) 编辑
摘要:关于虚拟内存管理之前的请看:OS之内存管理 — 虚拟内存管理(一)帧分配每个进程对的最小帧数是由操作系统的体系结构决定的,但是最大帧数是由可用物理内存的数量决定的。所以在这之间,对于进程的帧的分配是有很多选择的。分配算法平均分配在n个进程中分配m个帧的最容易... 阅读全文
posted @ 2019-04-08 19:16 如是说 阅读(453) 评论(0) 推荐(0) 编辑
摘要:比较和非比较的区别常见的快速排序、归并排序、堆排序、冒泡排序等属于比较排序。在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置。比较排序的优势是,适用于各种规模的数据,也不在乎数据的分布,都能进行排序。计... 阅读全文
posted @ 2019-04-08 15:38 如是说 阅读(316) 评论(0) 推荐(0) 编辑
摘要:题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一... 阅读全文
posted @ 2019-04-07 22:36 如是说 阅读(202) 评论(0) 推荐(0) 编辑
摘要:题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。输入描述:输入一个字符串,包括数字字母... 阅读全文
posted @ 2019-04-03 22:18 如是说 阅读(1525) 评论(0) 推荐(0) 编辑
摘要:题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。分析首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终... 阅读全文
posted @ 2019-04-03 21:34 如是说 阅读(276) 评论(0) 推荐(0) 编辑
摘要:题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。方法一 public int Sum_Solution(int n) { return (int)... 阅读全文
posted @ 2019-04-03 21:31 如是说 阅读(150) 评论(0) 推荐(0) 编辑
摘要:虚拟内存的背景在基本的内存管理策略中,所有的策略的相同点都是:每个进程在执行之前需要完全处于内存中。那有没有一种方法可以不需要将进程所有页面加载到内存中就可以开始运行进程呢?有没有可能在进程需要某些页面时再将其调入进内存中呢?于是就有了虚拟内存技术。而虚拟内... 阅读全文
posted @ 2019-04-03 17:40 如是说 阅读(529) 评论(0) 推荐(0) 编辑