学习笔记
文章平均质量分 64
winbobob
这个作者很懒,什么都没留下…
展开
-
贪心算法(Greedy Algorithms)
贪心算法的设计思想 贪心算法在解决问题的策略上目光短浅,只根据当前已有的信息就做出选择,而且一旦做出了选择,不管将来有什么结果,这个选择都不会改变。换言之,贪心法并不是从整体最优考虑,它所做出的选择只是在某种意义上的局部最优。贪心算法对于大部分的优化问题都能产生最优解,但不能总获得整体最优解,通常可以获得近似最优解。引例 [找零钱]一个小孩买了价值少于1美元的糖,并转载 2014-07-31 11:43:48 · 23286 阅读 · 1 评论 -
Algorithms for repeated squaring(重复乘方)
An algorithm for a computational problem is a computational method, a procedure, that takes in the inputs and spits out an output that obeys the mathematical relation defined in the computational prob转载 2014-07-29 20:43:23 · 1259 阅读 · 0 评论 -
仿射函数和仿射组合
1、仿射函数和线性函数的区别转载 2014-07-13 15:55:12 · 8269 阅读 · 0 评论 -
计数排序(Counting Sort)、桶排序(Bucket Sort)和基数排序(Radix Sort)
为什么要把计数排序(Counting Sort)、基数排序(Radix Sort)和桶排序(Bucket Sort)转载 2014-07-11 17:52:26 · 2292 阅读 · 0 评论 -
二叉搜索树;二叉查找树;二叉排序树;Binary Search Tree
binary search tree,中文翻译为二叉搜索树、二叉查找树或者二叉排序树。简称为BST一:二叉搜索树的定义他的定义与树的定义是类似的,也是一个递归的定义:1、要么是一棵空树2、如果不为空,那么其左子树节点的值都小于根节点的值;右子树节点的值都大于根节点的值3、其左右子树也是二叉搜索树在算法导论中的定义:下图中是BST的两个转载 2014-07-12 21:16:01 · 959 阅读 · 0 评论 -
数据结构之树的名称解析
网上关于树的各种名称各种各样,平衡搜索树,原创 2014-07-15 16:15:07 · 1013 阅读 · 0 评论 -
堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总转载 2014-09-19 00:38:50 · 387 阅读 · 0 评论 -
缓存算法
缓存算法发表于 2011-10-28 原文:http://www.jtraining.com/component/content/article/35-jtraining-blog/98.html 翻译:http://www.zavakid.com/25引言 我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不转载 2014-08-10 00:40:27 · 664 阅读 · 0 评论 -
matlab找零点或两个曲线的交点
寻找方程的零点可以等价于寻找两个曲线的交点,因此这里放在一起进行讨论。思路为:首先对应函数值y0,对自变量x进行插值,找出给定区间内所有满足f(x)=y0的x值,再令y0=0,即可得到方程的零点或者两曲线的交点横坐标。首先必须找出y=y0直线上下交错排列的所有数据点,即(xk,yk)和(xk+1,yk+1),在此区间内认为函数y为单调的,可以用逻辑运算加移位来实现。代码如下:funct转载 2014-09-07 10:49:02 · 17676 阅读 · 0 评论 -
深度优先搜索(DFS)与广度优先搜索(BFS)
有两种常用的方法可用来搜索图:即深度优先搜索和广度优先搜索。它们最终都会到达所有连通的顶点。深度优先搜索通过栈来实现,而广度优先搜索通过队列来实现。 深度优先搜索:下面图中的数字显示了深度优先搜索顶点被访问的顺序。为了实现深度优先搜索,首先选择一个起始顶点并需要遵守三个规则:(1) 如果可能,访问一个邻接的未访问顶点,标记它,并把它放入栈中。(2) 当不能执行转载 2014-08-12 01:22:23 · 772 阅读 · 0 评论 -
最短路径Ⅲ—Floyd-Warshall算法
Floyd算法1.定义概览Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。Floyd-Warshall算法的时间复杂度为O(N3),空间复杂度为O(N2)。 2.算法描述1)算法思想原理: Flo转载 2014-07-29 18:06:09 · 1969 阅读 · 0 评论 -
最短路径Ⅰ—Dijkstra算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,转载 2014-07-28 21:18:04 · 967 阅读 · 0 评论 -
在线函数绘制网站x2
graph.tk绘制函数API:原创 2014-05-25 20:35:45 · 4047 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树
极好的一篇文章, 作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。 第一节、B树、B+树、B*树1.前言:动转载 2014-07-23 21:50:54 · 434 阅读 · 0 评论 -
PowerPoint小技巧
受益终生的ppt技巧大集合在PPT演示文稿内复制幻灯片 要复制演示文稿中的幻灯片,请先在普通视图的“大纲”或“幻灯片”选项中,选择要复制的幻灯片。如果希望按顺序选取多张幻灯片,请在单击时按Shift键;若不按顺序选取幻灯片,请在单击时按Ctrl键。然后在“插入”菜单上,单击“幻灯片副本”,或者直接按下“Ctrl+shift+D”组合键,则选中的幻灯片将直原创 2014-06-28 14:28:01 · 649 阅读 · 0 评论 -
差分约束系统详解
一直不知道差分约束是什么类型题目,最近在写最短路问题就顺带看了下,原来就是给出一些形如x-y好神奇的是这类问题竟然可以转换成图论里的最短路径问题,下面开始详细介绍下比如给出三个不等式,b-a由题我们可以得知,这个有向图中,由题b-a根据以上的解法,我们可能会猜到求解过程实际就是求从a到c的最短路径,没错的....简单的说就是从a到c沿着某条路径后把所有权值和转载 2014-07-28 22:40:29 · 731 阅读 · 0 评论 -
全域哈希(Universial Hashing)和完全哈希(Perfect Hashing)
键集合 U 包含 n 个键,哈希表 T 包含 m 个槽,集合 H 包含一些哈希函数。如果 H 满足:对于任意 x, y ∈ U, 集合 { h | h∈H && h(x) = h(y) } 的元素个数等于 |H|/m,则称 H 为全域哈希;对全域哈希 H,从 H 中随机选择哈希函数,任意键 x, y 冲突概率等于 1/m;对于全域哈希 H,从中随机选择 h 作为哈希函数,对任意的键 x,与他转载 2014-07-11 17:13:09 · 3536 阅读 · 0 评论 -
图的邻接矩阵表示法
图邻接矩阵表示1.图的邻接矩阵表示法 在图的邻接矩阵表示法中: ① 用邻接矩阵表示顶点间的相邻关系 ② 用一个顺序表来存储顶点信息2.图的邻接矩阵(Adacency Matrix) 设G=(V,E)是具有n个顶点的图,则G的邻接矩阵是具有如下性质的n阶方阵:【例】下图中无向图G 5 和有向图G 6 的邻接矩阵分别为A l 和A 2 。3.网络的邻转载 2014-07-23 23:22:16 · 3434 阅读 · 0 评论 -
跳跃表(Skip List)深入介绍
为什么选择跳跃表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。 用跳跃表吧,跳跃表是一种随机化的数据结构转载 2014-07-19 10:00:43 · 906 阅读 · 0 评论 -
动态规划算法解最长公共子序列LCS问题
和MIT算法导论课上讲的类似,多了具体的代码实现~~转载 2014-07-27 15:10:03 · 921 阅读 · 0 评论 -
Floyd-Warshall算法过程中矩阵计算方法—十字交叉法
前几天在看Floyd算法的时候,虽然感觉程序很简单,但是让你动手写那些过程矩阵的时候就感觉不怎么简单了,就上网找找看有木有简便的计算方法,搜索之后没有发现有现成的例子,只搜到了两句“弄两条线,从左上角挪到右下角”,“十字交叉法,从左上角到右下角”,除此之外就再也木有找到有用的东西了,既然没有现成的就自己根据这两句来吧,于是就有了下面的这篇。。。。。。下面的纯属个人见解,如有不正确的还请大家转载 2014-07-29 16:28:41 · 14964 阅读 · 7 评论 -
OpenGL教程
http://blog.csdn.net/znnren/article/details/22238641. http://nehe.gamedev.net/这个是我觉得全世界最知名的OpenGL教程,而且有网友将其中48个教程翻译成了中文http://www.owlei.com/DancingWind/。Nehe教程最大的特点是提供了针对不同平台、不同编译器、不同语言的各种版本转载 2014-08-25 05:19:35 · 609 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 ___glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 1>GEARS.obj : er
opengl的高级菜鸟问题 看了一本书《OpenGL三维图形系统开发与应用技术》,但是,其中涉及到glut.h文件的函数无法正常连接,典型的错误如下: ------ 已启动生成: 项目: gears, 配置: Debug Win32 ------ 1>正在链接... 1>GEARS.obj : error LNK2019: 无法解析的外部符号 ___glutInitWit转载 2014-09-09 09:39:44 · 1205 阅读 · 0 评论 -
齐次坐标(Homogeneous Coordinate)的理解
一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”—— F.S. Hill转载 2014-08-25 22:44:43 · 12850 阅读 · 2 评论 -
c++中vector地址相关问题
问:vector a 相当于C里的数组,但是我想问问:1.单独的想知道a的地址,是向量名a就是地址还是&a才是向量a的地址?2.定义函数时,void myfun(vector &a=b),这里为什么要有&符号?3.使用定义了的函数的时候,myfun(a),这里问什么又没有了&符号?转载 2014-11-19 01:25:22 · 1667 阅读 · 0 评论 -
【赞】很特别的一个动态规划入门教程
今天在网上看到一个讲动态规划的文章,是以01背包为例的,这文章和书上的讲解非常不一样,令我眼前一亮,于是转载一下下~~~(说明一下,本人非常痛恨教材公式定理漫天飞,实际的讲解却讲得非常枯涩难懂,这种中国式的教育已经延绵了几千年了,现在中国的教材还是这个样子,讲清楚些明白些就那么难么?高中有个老师讲的一句话一直觉得很有道理:“教得会天才不是真本事,能把博士生的东西讲到小学生都会用那才是真水平。”转载 2014-10-18 11:31:58 · 844 阅读 · 0 评论 -
Ethernet IP TCP UDP 协议头部格式及大小
http://www.cnblogs.com/luxiaoxun/archive/2012/08/08/2628627.htmlThe Ethernet header structure is shown in the illustration below:以太网头部14 bytesDestinationSourceLen转载 2014-11-25 07:18:33 · 7262 阅读 · 0 评论 -
P、NP、NPC和NP-hard问题的理解
1、P(polynomial)问题 可以在以多项式表达的时间内按部就班的按照步骤求出确切解的问题,也就是说它的计算复杂度是一个多项式。我们通常用的O(n),O(logn),O(n2)等等类似的都是这类问题。2、NP(Non-deterministicPolynomial)问题 有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部转载 2014-11-30 09:40:31 · 1001 阅读 · 0 评论 -
OpenGL中的颜色设置
RGB模式和RGBA模式 计算机屏幕的颜色属于RGB空间。 通常有RGB模式和RGBA模式,其中RGB模式有R、G、B三个分量,取值范围为0.0~1.0;而RGBA模式有R、G、B、A四个分量,其中A即Alpha值,与透明度有关。 下面通过一个程序演示,并作必要说明: #includewindows.h> #include GL/glut.h>转载 2014-12-16 04:10:38 · 11473 阅读 · 0 评论 -
关于OpenGL和其他的调试错误
http://www.cnblogs.com/Vis-Shin/archive/2012/09/23/2699330.html1.test dword ptr [eax],eax ; probe page.错误提示:局部数组变量定义超过所分配的最大空间错误原因:pfile=fopen(fileName,"rb");中的fileName为空,就是没找到文件。解转载 2014-12-05 01:36:39 · 1135 阅读 · 0 评论 -
Ruby Thin服务器——比Rails自带的Webrick快不止一个档次!
最快速的上手方法:(亲测可用,效果明显)1.安装gem_在控制台输入gem install thin2.运行服务器 在网站对应的目录下 输入 start thin替换原来的 Rails server1. 获得thin gem install thin 2. 安装thin thin install 会添加一个/etc/thin的目录,还会告诉转载 2015-01-08 03:18:23 · 3822 阅读 · 0 评论 -
MakeFIle $@,$^,$<
Makefile $@, $^, $$@ 表示目标文件$^ 表示所有的依赖文件$$? 表示比目标还要新的依赖文件列表如一个目录下有如下文件:$ lshello.c hi.c main.c Makefile按照 Makefile 规则规规矩矩的写:main: main.o hello.o hi.o gcc转载 2015-01-16 03:47:23 · 579 阅读 · 0 评论 -
Mock方法介绍
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://baidutech.blog.51cto.com/4114344/7437401 现有的单元测试框架单元测试是保证程序正确性的一种有效的测试手段,对于不同的开发语言,通常都能找到相应的单元框架。借助于这些单测框架的帮助,能够使得我们编写单元测转载 2015-01-16 00:41:15 · 1167 阅读 · 0 评论 -
【LNK2019】 无法解析的外部符号 __iob
VS2010 解决链接错误:error LNK2019: 无法解析的外部符号 __iob 该错误主要是由于静态库在VC6编译而主程序在VC2010编译,大家用的CRT不同。解决办法,代码中增加#ifdef __cplusplusextern "C" #endifFILE _iob[3] = {__iob_func()[0], __iob_f转载 2014-11-17 07:10:25 · 1688 阅读 · 0 评论 -
海明码校验和纠错原理(一)
http://blog.csdn.net/lycb_gz/article/details/8214961转载 2014-09-29 05:23:11 · 1252 阅读 · 0 评论 -
visual studio 2010 的openGL环境的搭建
一. 首先你要有一个glut包,(如果没有请到网上下载一个),里面会有这么一些文件:(如图)二. 接下来的事情就是你要把对应的文件放到对应的位置:(1) glut.h 这个文件放目目录C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl转载 2014-08-22 23:27:25 · 1054 阅读 · 0 评论 -
3D流水线(pipeline)
初步涉及3D,被高手指出对D3D的硬件流水线不熟悉.马上找资料,并做总结.我可不能落后哎. 先发张流水线的图:转载 2014-09-23 02:45:30 · 686 阅读 · 0 评论 -
Implementing the Raytracing Algorithm(primary ray& shadow ray)
http://scratchapixel.com/lessons/3d-basic-lessons/lesson-1-writing-a-simple-raytracer/implementing-the-raytracing-algorithm/We have covered everything there is to say! We are now prepared to wri原创 2014-09-01 02:37:37 · 1126 阅读 · 0 评论 -
C语言如何用OpenGL
http://zhidao.baidu.com/question/16574235 C语言究竟可不可以使用OpenGL编程?网上多的是VC++的,delphi的等等可我就是不想学VC++,用C语言又不知道怎么初始化设置,好痛苦的。比方说VC++中,是这样设置的:1.将glut.dll和glut32.dll拷贝到windows/system32目录下。2.将glut.h拷贝到集成环境转载 2014-09-01 04:32:28 · 7176 阅读 · 0 评论 -
OpenGL: gluPerspective和gluLookAt的关系
看了Opengl的相关程序,发现有些东西还是特别迷茫,尤其是gluLookAt的函数做啥用的,而gluPerspective又有什么功能.在网上查看到了这篇: 终于搞明白gluPerspective和gluLookAt的关系了(zz)http://cowboy.1988.blog.163.com/blog/static/751057982010101574732212/转载 2014-09-28 00:39:12 · 606 阅读 · 0 评论