常用算法总结

常用算法总结

一、排序

http://www.cnblogs.com/fzhe/archive/2013/01/18/2866651.html

  1. 快速排序
  2. 归并排序
  3. 堆排序
  4. 选择排序
  5. 冒泡排序
  6. 插入排序
  7. 希尔排序

二、  查找

  1. 静态查找

  a)  顺序查找

  b) 有序表的查找之折半查找

  c)  索引表

  1. 动态查找

  a)  二叉排序树查找

  b)  平衡二叉树

  c)  B-树 :常用于文件系统中

  d)  B+树 :区别于B-树,有n棵子树的节点中含有n个关键字。叶子节点按序自动排列。B+树可以按序查找也可以从根结点开始随机查找。

三、  递归

  1. Fibonacci数列
  2. 阶乘
  3. 汉诺塔问题
  4. 排列组合
  5. 年龄

四、  广度优先搜索

  1. 迷宫问题
  2. 倒酒问题
  3. 连连看

五、  深度优先搜索

深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。

  1. 骨头的诱惑

六、  贪心算法

  1. 背包问题
  2. 马踏棋盘
  3. 活动安排问题
  4. 哈夫曼编码
  5. 单源最大路径

七、  动态规划

http://blog.csdn.net/duxingstar/article/details/6032411

  1. 陪审团
  2. 最大公共子串问题
  3. 小花店问题
  4. 最佳旅行线问题
  5. 最长词链问题
  6. 整数划分问题
  7. 青蛙的烦恼
时间: 2024-11-06 11:27:23

常用算法总结的相关文章

五大常用算法

http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741370.html 分治算法 一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题--直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并.这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)-- 任何一个可以用计

推荐系统中常用算法 以及优点缺点对比

推荐系统中常用算法 以及优点缺点对比 在 推荐系统简介中,我们给出了推荐系统的一般框架.很明显,推荐方法是整个推荐系统中最核心.最关键的部分,很大程度上决定了推荐系统性能的优劣.目前,主要的推荐方法包括:基于内容推荐.协同过滤推荐.基于关联规则推荐.基于效用推荐.基于知识推荐和组合推荐. 一.基于内容推荐 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器

(转)常用算法(Algorithm)的用法介绍

2算法部分主要由头文件<algorithm>,<numeric>和<functional>组成. 2<algorithm>是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较.交换.查找.遍历操作.复制.修改.反转.排序.合并等等. 2<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作. 2<functional>中则定义了一些模板类,用以声明函数对象. 2STL提供

[转]五大常用算法:分治、动态规划、贪心、回溯和分支界定

Referred from http://blog.csdn.net/yapian8/article/details/28240973 分治算法 一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并.这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求

特征选择常用算法综述

特征选择的一般过程: 1.生成子集:搜索特征子集,为评价函数提供特征子集 2.评价函数:评价特征子集的好坏 3.停止准则:与评价函数相关,一般是阈值,评价函数达到一定标准后就可停止搜索 4.验证过程:在验证数据集上验证选出来的特征子集的有效性 1.生成子集 搜索算法有 完全搜索.启发式搜索.随机搜索 三大类. (1)完全搜索 <1>宽搜(Breadth First Search):时间复杂度高,不实用 <2>分支界限搜索(Branch and Bound):其实就是宽搜加上深度的限

五大常用算法:分治、动态规划、贪心、回溯和分支界定

苹果的WWDC ,除了发布了os x 10.10 和IOS8 外,还推出了Swift.详细点击这里 代码总体风格有点像Java,也有点像javascript. 下面给出一些代码段(来自苹果官方手册): println("Hello, world") "var myVariable = 42 myVariable = 50 let myConstant = 42" 摘录来自: Apple Inc. "The Swift Programming Languag

轻松看懂机器学习十大常用算法

轻松看懂机器学习十大常用算法 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了好几个视频,挑出讲的最清晰明了有趣的,便于科普. 以后有时间再对单个算法做深入地解析. 今天的算法如下: 决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经网络 马尔可夫 1. 决策树 根据一些 feature 进行分类,每个节点提一个问题,通过

总结Objective-c常用算法

今天是星期天,想睡到10点起床,结果认为自己太奢侈了,不能这么做,于是把闹钟设置成了6:30:结果终于9:36醒了,起床,无缘无故迟了,好吧,就算太累了吧,周天就原谅自己一回.终于到了中午,辗转反侧,用objective-c去实现一个计算器程序,调试不成四则运算计算器算法,总是差那么一点点,却还是差那么一点点,运行不起来,终于决定出去办点事然后回去教室问同学……….,后来发现,这些算法非常重要,就算摔倒了爬起来也要记得,切记,切记,由四则运算算法得到的启示,然后查找资料总结的objective-

数据结构图的常用算法总结

本人在校期间写了一个win32应用程序,用于回顾算法导论图的常用算法(图中边的权值为两个圆心的像素点的距离) 1.dijkstra算法求两点之间最短路径: 贪心算法用优先队列实现,每次选择距离起点路径和最短的顶点弹出队列,此顶点最短路径就已经确定 初始图如下 选择起点如W 选择终点如下: 显示路线: 1) 2) 3) 4) 打开数据,第一行为W距离S点距离,剩下为边的距离一遍参考 470 A <-> D 120 D <-> C 71 C <-> E 93 E <-

机器学习十大常用算法

机器学习十大常用算法小结 机器学习十大常用算法小结 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了好几个视频,挑出讲的最清晰明了有趣的,便于科普.以后有时间再对单个算法做深入地解析. 今天的算法如下: 决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经网络 马尔可夫 1. 决策树 根据一些 feature 进行分类,每个