码迷,mamicode.com
首页 > 编程语言 > 详细

面试的基础算法和知识点

时间:2015-07-13 22:35:20      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

    一、  外部文件排序:  内存大小为n,总的数据大小为m

       a.  每次读入数据n, quick_sort。生成m/n个有序队列,  依次归并        ( 算法实现=> )

       b.  每次读入数据n, quick_sort。生成m/n个有序队列,  把每个队列的最小节点建立最小堆,从堆中提取数据并不断插入提取数据的下一个节点  ( 算法实现=>

       c.  赢者树  (算法实现=>

       d.  败着树  (算法实现=>

2  排序算法:

      1.  基数排序: a 高位优先   b 低位优先  ( 算法实现)

      2.  归并排序 : 时间 nlogn  空间(n)

      3.  堆排序:  swiftdown 函数的实现

      4.  快速排序:  递归的实现

3. 查找算法:

      1.  静: 直接查找,折半查找,分块查找

      2.  二叉搜索树, 二叉平衡树, B-树、B+树的实现

4.   拓扑排序,(判断是否存在环路)

      关键路径:

      单源最短路径:Dijiksa

      定点之间的最段路径:floyed

5  最小生成树

      prim:

      kruskal:

6.  图搜索

      dfs()

      bfs()

7.   树:

         DLR, LDR, LRD的递归非递归

         huffman树:

         二叉树 与 树 森林的转换

8 .  字符串匹配

       朴素:

       KMP:

9.  栈 与队列的实现(环形队列)

面试的基础算法和知识点

标签:

原文地址:http://my.oschina.net/u/573270/blog/478079

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!