回 帖 发 新 帖 刷新版面

主题:算法篇

[b]算法篇[/b]

  [color=0000FF]这一贴将链接论坛上经常提问的以及非常常用的算法。[/color]

  [color=0000FF]关于部分算法可以去我的BLOG,仅供参考。[/color]

一、数据结构中的算法


1、线性表

数的进制转换
<null>

括号匹配检查
高手请进,帮我看看括号匹配程序哪出了错  zjkzxy
[url=http://www.programfan.com/club/showbbs.asp?id=152430]http://www.programfan.com/club/showbbs.asp?id=152430[/url]

迷宫求解
迷宫程序的思想(含演示代码)  tchen
[url=http://www.programfan.com/club/showbbs.asp?id=14314]http://www.programfan.com/club/showbbs.asp?id=14314[/url]

表达式求值
(原创)栈的应用(算术表达式求值)  大象踩蚂蚁
[url=http://www.programfan.com/club/showbbs.asp?id=153809]http://www.programfan.com/club/showbbs.asp?id=153809[/url]

串的模式匹配算法KMP
<null>


2、树与二叉树

遍历二叉树
<null>

哈夫曼树及其应用(huffman tree),最优二叉树
huffman编码解码(2进制形式)  sarrow
[url=http://www.programfan.com/club/showbbs.asp?id=154426]http://www.programfan.com/club/showbbs.asp?id=154426[/url]


3、图

最小生成树算法
<null>

最短路径算法
最短路径的算法(含代码演示)  tchen
[url=http://www.programfan.com/club/showbbs.asp?id=14317]http://www.programfan.com/club/showbbs.asp?id=14317[/url]

最短路径算法及应用  蓝色梦幻
[url=http://www.programfan.com/club/showbbs.asp?id=5084]http://www.programfan.com/club/showbbs.asp?id=5084[/url]


4、排序

插入排序
<null>

快速排序
[原创]看一下我编写的快速排序源程序,绝对原创啊!  喆喆
[url=http://www.programfan.com/club/showbbs.asp?id=155526]http://www.programfan.com/club/showbbs.asp?id=155526[/url]

看看我的非递归快速排序有什么问题
[url=http://www.programfan.com/club/showbbs.asp?id=67066]http://www.programfan.com/club/showbbs.asp?id=67066[/url]

选择排序
<null>

归并排序
[原创]归并排序原创  喆喆
[url=http://www.programfan.com/club/showbbs.asp?id=155528]http://www.programfan.com/club/showbbs.asp?id=155528[/url]

基数排序
<null>


5、查找

二分查找
<null>

哈希表
<null>


二、其它常用算法思想

穷举法
<null>

迭代法
<null>

递归与回溯
<null>

贪心法
<null>

动态规划
<null>

------------------
不断更新、添加

回复列表 (共27个回复)

21 楼

弄点简单的,先上手再研究

22 楼

2分查找法代码 如下
#include <iostream>
#include <assert.h>
using namespace std;

template<typename T>
int BinarySearch(T* Array, T value, int size);
int main(int argc, char* argv[])
{
    int Array[10] = {0,};
    int aim = 0;
    int pos = -1;
    cout<<"Input ten numbers :"<<endl;
    for (int i=0; i<10; i++)
    {
        cout<<"Number "<<i+1<<" : ";
        cin>>Array[i];
    }
    cout<<"Search for : ";
    cin>>aim;
    pos = BinarySearch<int> (Array,aim,10);
    cout<<"The position is : "<<pos<<" and value is "<<Array[pos];
    return 0;
}
/*
 * Parameter :
 *            Array : The array for binary search;
 *              value : The value for search;
 *              size  : The size of the array         
 */
template<typename T>
int BinarySearch (T* Array, T value, int size)
{
    assert(Array != NULL);
    assert(size > 0);
    
    int start = 0;
    int end      = size;
    int middle = end/2;
    while (start != end)
    {
        if (Array[middle] == value)
        {
            return middle;
        }
        else if (Array[middle] > value)
        {
            end = middle;
        }
        else 
        {
            start = middle;
        }
        middle = (start + end)/2;
    }
    return -1;
}

23 楼

请问有没有多元回归模拟曲线的算法?

24 楼

顶一个

25 楼

我顶

26 楼

顶..

27 楼

不错。不过怎么没有更新阿?

我来回复

您尚未登录,请登录后再回复。点此登录或注册