算法
xljiulong
Deep Learner
展开
-
合并排序
合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合原创 2011-06-30 09:51:00 · 520 阅读 · 0 评论 -
Beam Search 基础知识-广度优先及深度优先搜索
概要介绍了深度优先和广度优先的搜索方法基本概念open 表 保存未访问过的路径 close 表 保存访问过的路径,防止进入一个死循环。具体算法从某一个开始节点访问所有的可到达的顶点在很多场景下非常有用,例如下图中我们想从H点到C点如何遍历? 具体步骤从H开始,找到H的直接后继{B,D, L},从而构成了三条候选路径{H->B,H->D,H->L},此时{B,D,L}成为open vertice原创 2016-06-01 10:39:23 · 6801 阅读 · 0 评论 -
Latent semantic analysis note(LSA)
1 LSA IntroductionLSA(latent semantic analysis)潜在语义分析,也被称为LSI(latent semantic index),是Scott Deerwester, Susan T. Dumais等人在1990年提出来的一种新的索引和检索方法。该方法和传统向量空间模型(vector space model)一样使用向量来表示词(terms)转载 2014-09-25 11:19:39 · 823 阅读 · 0 评论 -
简单的计算器小程序(不带括号)
本程序主要实现了两点:1.中序转后序。算法:对中序进行循环,遇到数字直接输出,遇到运算符则与栈顶的运算符对比,若栈顶的运算符级别大于等于当前运算符的级别则输出栈顶的运算符,此过程循环进行,然后当前运算符进栈。中序表达式处理完之后将栈中运算符输出。char *TranInfixToPost(char *infix, char *post){int top = 0;ch原创 2012-05-13 11:06:18 · 1529 阅读 · 0 评论 -
emacs auto-complate简单配置
;;;------------------auto-complate----------------------(add-to-list 'load-path "~/.cldev/.emacs.d/auto-complete-1.3.1")(require 'auto-complete)(require 'auto-complete-config)(global-auto-comp原创 2011-11-29 14:15:36 · 1010 阅读 · 0 评论 -
华为的一个笔试题:.将二叉树的两个孩子换位置,即左变右,右变左。不能用递规
问题描述:将二叉树的两个孩子换位置,即左变右,右变左。不能用递规代码:typedef struct HaTree{ int data; struct HaTree *lChild, *rChild;}HaTree;void HaReverTree (H原创 2011-09-13 13:15:08 · 3365 阅读 · 2 评论 -
趣味智力题:过桥
问题描述:现在小明一家过一座桥,过桥时候是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。问小明一家如何过桥? 过桥过程原创 2011-09-14 14:53:11 · 933 阅读 · 0 评论 -
Makefile 文件编写(跟我一起写makefile)
http://www.chinaunix.net 作者:gunguymadman 发表于:2009-06-30 15:55:17【发表评论】【查看原文】【C/C++讨论区】【关闭】陈皓 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些转载 2011-07-21 11:02:04 · 1220 阅读 · 2 评论 -
旅行商问题(动态规划)
//......................hstruct State{ int curCity;//当前所在城市 int *nextCity;//下一个要去的城市 vector toPass;//未经过的城市 float cost;}; //...............原创 2011-07-08 17:14:07 · 1391 阅读 · 0 评论 -
旅行商问题(贪婪法)
//.................h/* * greedyTSP.H * * Created on: 2011-7-12 * Author: 哈哈 */#ifndef GREEDYTSP_H_#define GREEDYTSP_H_#include using n原创 2011-07-12 13:26:50 · 1453 阅读 · 1 评论 -
最长公共子序列(动态规划)
//.........................hint LongestSubString (char A[], char B[], char C[], int n, int m);void PrintDouble (int **s, int m, in原创 2011-07-07 15:45:22 · 490 阅读 · 0 评论 -
背包问题(贪婪法)
//................htypedef struct{ float p; float w; float v;}OBJECT;void Print (OBJECT instance[], int n);void Swamp (OBJECT &ins原创 2011-07-06 14:01:01 · 686 阅读 · 0 评论 -
堆排序的一些操作
“堆”定义 n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ n) //ki相当于二叉树的非叶结点,K2i则是左孩子,k2i+1是右孩子 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构。 /***元素上移原创 2011-06-30 10:15:00 · 563 阅读 · 0 评论 -
基于递归的插入排序
算法描述:(1)基础步: n == 0时,数组只有一个元素,它已经排好序。(2)归纳步: 如果前面index 个元素已排好序,只要对第k个元素逐一与前面的k-1个元素比较,把它插入到适当的位置,即可完成k-1个元素的排序。 template void InsertSort (T A[], int n)/**原创 2011-06-30 14:24:00 · 884 阅读 · 0 评论 -
Beam Search 简介
概要传统的广度优先策略能够找到最优的路径,但是在搜索空间非常大的情况下,内存占用是指数级增长,很容易造成内存溢出,因此提出了beam search的算法。 beam search尝试在广度优先基础上进行进行搜索空间的优化(类似于剪枝)达到减少内存消耗的目的。Beam Search算法新的概念为了达到搜索的目的,beam search 引入了启发函数的概念(hh) 来估计从当前节点到目标节点的损原创 2016-06-01 11:41:18 · 18994 阅读 · 0 评论