微软100道算法题详解
命里鱼幼微
这个作者很懒,什么都没留下…
展开
-
微软100道算法题之001
下面开始第一题:输入一颗二元查找树,将该二叉查找树转换成一个排序的双向链表。要求不能创建任何新的节点,只调整指针的方向:1:二叉查找树的定义我在这里不多解释,无非是递归左2:一般解决链表类的问题的时候可以辅助的申明头节点指针和尾节点指针来辅助思考或者解答,和初中解三角形的中位线一样是万金油首先是节点类型:在这里我没有附带数据域;原创 2012-10-12 15:27:41 · 513 阅读 · 0 评论 -
微软100道算法题之002
用o(n)时间复杂度求数组第二大元素同学今天问我这个问题 简单的题目 一般的思路容易陷入快排O(nlogn)(平均) O(n*n)最坏既然了这里就顺便写一写快排 (单次快排和递归 目前最好的排序算法之一 )(不稳定就地排序 ) (不稳定的就地排序算法还有堆排序 最坏的时间复杂度是O(nlogn)建堆过程复杂)void QuickSort(原创 2013-03-12 19:50:27 · 715 阅读 · 0 评论