面试常见问题
sdu_bupt
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试常见的排序问题
1. 各排序算法的复杂度 排序方法 平均时间 最坏情况 辅助内存 简单排序 O(n2){O(n^2)} O(n2){O(n^2)} O(1){O(1)} 快速排序 O(nlogn){O(n\log n)} O(n2){O(n^2)} O(logn){O(\log n)} 堆排序 O(nlogn){O(n\log n)} O(nlogn){O(原创 2017-04-18 23:11:15 · 3089 阅读 · 0 评论 -
基于链表的快速排序及归并排序
归并排序package 算法和数据结构;/*** Filename : LinkedList_MergeSort.java* Author : zhihao_tian@126.com* Creation time : 下午5:47:02 - 2017年3月26日* Description :*/class ListNode { int val; ListNode next原创 2017-05-10 21:31:56 · 335 阅读 · 0 评论 -
二叉树的遍历
package 算法和数据结构;/*** Filename : TreeBianli.java* Author : zhihao_tian@126.com* Creation time : 下午6:28:39 - 2017年3月11日* Description :*/import java.util.Stack;import java.util.HashMap;class Node原创 2017-05-10 21:47:30 · 382 阅读 · 0 评论 -
多线程与多进程
1.多线程与多进程的比较关于多进程和多线程,教科书上最经典的一句话是 进程是资源分配的最小单位,线程是CPU调度的最小单位这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说一个好得不得了,另外一个差的无法忍受)。看起来比较简单,优势对比上是“线转载 2017-05-11 21:54:24 · 432 阅读 · 0 评论 -
面试常见的二叉树问题
package 算法和数据结构;/*** Filename : BinarySearchTree.java* Author : zhihao_tian@126.com* Creation time : 下午6:26:50 - 2017年3月11日* Description :*/import java.util.Stack;public class BinarySearchTree {原创 2017-05-11 22:08:36 · 347 阅读 · 0 评论 -
二分查找
对于不下降的序列a, n为序列a元素的个数,key为关键字。1.求得最小的i, 使得a[i] = key, 若不存在,则返回-1.int binary_search_1(int[] a, int n, int key) { int m, l=0, r=n-1;//闭区间[0,n-1] while(l<r) { m = l+(r-l)/2;//向下取整原创 2017-05-09 23:12:29 · 267 阅读 · 0 评论 -
回溯法解决排列组合问题
package 算法和数据结构;/*** Filename : Backtracking.java* Author : zhihao_tian@126.com* Creation time : 上午10:16:04 - 2017年3月13日* Description : 利用回溯法来解决诸如 子集数量,排列,组合 的问题。*/import java.util.*;public cl翻译 2017-05-09 23:18:25 · 2941 阅读 · 0 评论 -
面试常用排序算法java实现
概要本文总结面试常见的排序算法,及基本的实现java 话不多说,先上干货。一、算法的复杂度及稳定性 稳定的排序算法是:冒泡排序,直接插入排序,归并排序,基数排序,二叉树排序,计数排序。 不稳定的排序算法:选择排序,快速排序,堆排序,希尔排序。二、算法的实现面试中常见的算法: 快速排序>归并排序>堆排序>冒泡>插入>选择。下面依次实现各排序算法。1. 快速排序算法原理 快速排序是目前在实践中原创 2017-05-09 22:26:22 · 3664 阅读 · 0 评论
分享