
学习笔记
文章平均质量分 87
qiudesuo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽
字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽 本文内容框架:§1 Boyer-Moore算法§2 Horspool算法§3 Sunday算法§4 KMP算算法§5 KR算法§6 AC自动机§7 小结 §1 Boyer-Moore(BM)算法 Boyer-Moore算法原理 Boye...原创 2012-10-18 10:56:56 · 4033 阅读 · 1 评论 -
Java基础进阶整理
Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献。 当然,本文档主要是对java语言基础(当然还有很多基础没有涉及到)的进行较全面的理解已经整理,只要充分掌握了基础知识,学习高级部分的知识才会事半功倍犹如轻车熟路一般容易上手。 正文: ...原创 2012-11-26 09:59:10 · 212 阅读 · 0 评论 -
《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记
之前一直对C++内部的原理的完全空白,然后找到《Inside The C++ Object Model》这本书看了下, 感觉收获很大,因为书写得比较早,有些知识应该要更新,但是还是值得好好研读,由于该书的内容给人比较散的感觉,所以一直想找个时间整理一下,遂成此文,虽然都是抄书上的,但是却让我有了温故而知新的觉悟,附近里有三个好资料,一并共享了!2012年9月2日凌晨 4:31 谢谢 张雨生的歌声...2012-09-02 04:30:20 · 478 阅读 · 0 评论 -
C# 调用Delegate.CreateDelegate方法出现“未处理ArgumentException”错误解决
在C# 调用Delegate.CreateDelegate方法出现“未处理ArgumentException”错误,网上解决的方法比较少,Over Stackflow上有说这个问题,应该是这个问题太简单了吧。 其实问题就是:委托绑定的两个函数原型不一致,比如写的函数返回值是void的,但是委托的函数原型返回值是bool的。 问题很简单,和我之前...2013-05-31 12:24:51 · 1883 阅读 · 0 评论 -
《C和指针(Pointer on c)》 学习笔记
首先本文是对参考中三个连接的博客进行的整理,非常感谢三位博主的努力,每次都感叹网友的力量实在太强大了…… 第一章 快速上手1. 在C语言中用/*和*/来注释掉这段代码,这个实际上并不是十分的安全,要从逻辑上删除一段C代码,最好的办法是使用#if指令: #if 0 Statement #endif2. 其他语言中,无返回值的函数称为过程(...原创 2012-09-28 17:31:39 · 268 阅读 · 0 评论 -
《C++编程规范:101条规则、准则与最佳实践》学习笔记
组织和策略问题0. 不要为小事斤斤计较。(或者说是:知道什么东西不需要标准化) 无需在多个项目或者整个公司范围内强制实施一致的编码格式。只要规定需要规定的事情:不要强制施加个人的喜好或者过时的做法。C++不应该使用匈牙利命名法。在有智能指针的情况下,单入口单出口可能不是必须的。代码要有自注释性。 1. 在高警告级别下干净地编译代码。 要把警告放在心上:使用你...原创 2012-09-28 18:58:09 · 130 阅读 · 0 评论 -
《Effective STL》学习笔记
该篇笔记转自以下两个连接:(另外附件里有STL源码分析和编写高质量代码:改善C++程序的150个建议) http://my.youkuaiyun.com/swordll80 http://blog.youkuaiyun.com/pizi0475/article/details/5382117 条款1:仔细选择你的容器了解各种容器的实现方法,知道各种容器的内存管理方式、各种操作所对应...原创 2012-09-29 00:18:22 · 166 阅读 · 0 评论 -
《C++ Primer》学习笔记
数组与指针:数组的长度必须用大于等于1的常量表达式(整型字面值常量,枚举常量,常量表达式初始化的整型const对象)定义,非const变量以及要到运行阶段才知道的其值的const 变量(const int sz=getSize();)都不能用于定义数组的长度。字符数组char ch1[]={‘c’,’+’,’+’}; //no null 长度是3cha...2012-09-29 00:22:06 · 152 阅读 · 0 评论 -
《你必须知道的495个C语言问题》学习笔记
1.声明和定义全局变量和函数一个全局变量或函数可以(在多个编译单元中)有多处的声明,但是定义却最多只能允许出现一次。对于全局变量,定义是真正分配空间并赋初始值(如果有)的声明。static修饰的在C是不能被其他文件访问调用的。 2.typedef和#define 有什么区别先看实例:typedef char*string_t;#define string_d...2012-09-29 00:23:38 · 193 阅读 · 0 评论 -
最长回文子串求解
题目:给定一个字符串,求其的最大回文子串。例如:字符串:owwoshisbsiha,它的最大回文子串是:hisbsih。求解方法:暴力枚举、动态规划、后缀数组、线性算法方法一:暴力枚举 最简单的方法当然就是对字符串的每一个子串进行回文判断。一个字符串有O(n²)个子串,然后判断是否回文复杂度是O(n),所以该算法的算法复杂度是O(n³)。方法二:动态规划 动态规划之所以能改进算...原创 2012-09-30 08:54:39 · 177 阅读 · 0 评论 -
位运算二进制大杂烩一劳永逸
先交代下位运算的基础知识 a & b a | b a ^ b ~a a << ba >> b 位运算应用口诀清零取反要用与,某位置一可用或,若要用反和交换,轻轻松松用异或。 移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 "<<" 左...原创 2012-10-01 07:48:19 · 304 阅读 · 0 评论 -
最短路径算法——Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson
最短路径算法——Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson,无一幸免本文内容框架:§1 Dijkstra算法§2 Bellman-Ford算法§3 Floyd-Warshall算法§4 Johnson算算法§5 问题归约 §6 小结常用的最短路径算法有:Dijkstra算法、Bellman-Ford算法、Floyd...2012-10-02 12:55:46 · 860 阅读 · 0 评论 -
拓扑排序和关键路径
拓扑排序和关键路径 拓扑排序 拓扑排序最大的用途就是判断一个有向图是否有环,当然判断还有一种方法就是Floyd算法。如果用邻接表的话拓扑排序的时间复杂度是O(N*E),邻接矩阵是O(N^2),N表示顶点数,E表示边数,Floyd时间复杂度是O(N^3)。 拓扑排序方法可分为无前趋的顶点优先的拓扑排序方法和无后继的顶点优先的拓扑排序方法。基本拓扑排序算法步骤 1.在有向图...2012-10-02 19:26:52 · 341 阅读 · 0 评论 -
最小生成树——Prim、Kruskal、Sollin(Boruvka)
最小生成树——Prim、Kruskal、Sollin(Boruvka) 本文内容框架: 1.Prim算法及其基于优先队列实现 2.Kruskal算法 3.Sollin算法 对于最小生成树,有两种算法可以解决。一种是Prim算法,该算法的时间复杂度为O(n²),与图中边数无关,该算法适合于稠密图,而另外一种是Kruskal,该算法的时间主要取决于边数,它较...原创 2012-10-02 19:35:10 · 1590 阅读 · 0 评论 -
图遍历算法——DFS、BFS、A*、B*和Flood Fill 遍历算法大串讲
图遍历算法——DFS、BFS、A*、B*和Flood Fill 遍历算法大串讲本文内容框架: §1 图遍历DFS和BFS两种实现 §2 A*算法 §3 B*算法 §4 Flood Fill算法 §5 小结图遍历问题分为四类: 遍历完所有的边而不能有重复,即所謂“一笔画问题”或“欧拉路径”; 遍历完所有的顶点而没有重复,即所谓“哈密尔顿问题”。 遍历完所有的边...原创 2012-10-02 19:38:04 · 967 阅读 · 0 评论 -
二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配...
二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配文本内容框架: §1图论点、边集和二分图的相关概念和性质 §2二分图最大匹配求解 匈牙利算法、Hopcroft-Karp算法 §3二分图最小覆盖集和最大独立集的构造 §4二分图最小路径覆盖求解 §5二分图带权最优匹配求解 Kuhn-Munkers算法 §6小结每章节都...原创 2012-10-04 13:35:47 · 1631 阅读 · 0 评论 -
有向强连通和网络流大讲堂——史无前例求解最大流(最小割)、最小费用最大流...
有向强连通和网络流大讲堂——史无前例最大流(最小割)、最小费用最大流本文内容框架(未完成): §1网络流的基本概念 §2最大流问题 §2.1Ford-Fulkerson方法(增大路径最大流算法) §2.2Edmonds-Karp(EK)算法实现 §2.3Dinic算法 §2.4SAP算法(最短路径增广算法) §2.5Preflow push method(...原创 2012-10-08 16:54:31 · 726 阅读 · 0 评论 -
《C++必知必会》学习笔记
《C++必知必会》学习笔记 尊重他人的劳动,支持原创 在图书馆偶然瞟到这本书《C++必知必会》,拿起来翻了下,瞬时有种焕然一新的感觉,薄薄的一本书,却尽是我不熟悉的“Common Knowledge”,于是手痒起来了——想做一个完整的笔记。本来我花了一晚上(到凌晨3点)已经整理到49条,由于最后几条关于模板的东西不是很了解,看起来有点生涩,就准备第二天认真看了在做进一步的...2012-11-24 23:40:38 · 194 阅读 · 0 评论 -
优先队列三大利器——二项堆、斐波那契堆、Pairing 堆
优先队列三大利器——二项堆、斐波那契堆、Pairing 堆 本文内容框架: 写在前面的话 二项堆 二项堆的定义,操作,实现 斐波那契堆 斐波那契堆的定义,操作,实现 Pairing堆 Pairing 堆的定义,操作,实现 小结写在前面的话 昨天发现,作者辛苦的劳动被一个无耻的人给窃取了——有一个人(csdn ID :qiaqia609)(...2012-11-03 13:12:08 · 1052 阅读 · 0 评论 -
最长重复子串和最长不重复子串求解
最长重复子串和最长不重复子串求解本文内容框架: §1 最长重复子串 基本方法、KMP算法求解、后缀数组求解 §2 最长不重复子串 基本方法、动态规划、动态规划+Hash §3 小结 §1最长重复子串 1.1问题描述 首先这是一个...2012-10-19 00:54:54 · 1258 阅读 · 0 评论 -
连续子数组最大和和最长递增子序列
本文内容框架: §1 连续子数组最大和 基本方法、分治策略求解、动态规划求解 §2 最长递增子序列 排序+LCS求解、动态规划、动态规划+二分查找 §3 小结 §1 连续子数组最大和 连续子数组最大和 连续子数组最大和,又叫最大子...2012-10-19 11:35:50 · 392 阅读 · 0 评论 -
最长公共子串、最长公共子序列、字符串编辑距离
最长公共子串、最长公共子序列、字符串编辑距离 最长公共子串 问题描述 如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。注意,并不要求子串(字符串一)的字符必须连续出现在字符串二中。基本方法 大凡基本方法都是枚举方法,这里其实就枚举所有长度相等的子串进行比较。枚举方法时没有考虑一切实际情况的,这样就有很多“漏洞”,就可以...原创 2012-10-19 13:28:37 · 669 阅读 · 0 评论 -
散列表(Hash)概述
散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置(f(key))。查找时,根据这个确定的对应关系找到给定值key的映射f(key)。这里的对应关系f称为散列函数。 散列技术既是一种存储方法,也是一种查找方法。 散列函数的构造方法 散了函数的构造原则:1.计算简单,2.散列地址分布均匀构造方法: 1.直接定址法:需要预...2012-10-24 16:38:18 · 143 阅读 · 0 评论 -
Skip List(跳跃表)原理详解与实现
Skip List(跳跃表)原理详解与实现 本文内容框架: §1 Skip List 介绍 §2 Skip List 定义以及构造步骤 §3 Skip List 完整实现 §4 Skip List 概率分析 §5 小结 §1 S...2012-10-25 17:49:52 · 889 阅读 · 0 评论 -
Bloom Filter一站式学习
Bloom Filter一站式学习 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合(一般来说,我们会用HASH表来存储集合中的数据,好处是快速准确,缺点是存储效率低,在海量数据时一般服务器无法存储。Bloom Filter针对哈希表存储效率低的问题,而衍生出来的一种算法。)。Bloom Fil...原创 2012-10-26 00:15:29 · 124 阅读 · 0 评论 -
Trie三兄弟——标准Trie、压缩Trie、后缀Trie
Trie三兄弟——标准Trie、压缩Trie、后缀Trie 1.Trie导引 Trie树是一种基于树的数据结构,又称单词查找树、前缀树,是一种哈希树的变种。应用于字符串的统计与排序,经常被搜索引擎系统用于文本词频统计。用于存储字符串以便支持快速模式匹配,主要应用在信息检索中,Trie支持的主要查询操作是模式匹配和前缀匹配。Trie树可以看着是一个确定有限状态自动机,有限状态自动机另一篇...2012-10-26 01:45:01 · 919 阅读 · 0 评论 -
平衡二叉树(AVL)原理透析和编码解密
平衡二叉树(AVL)原理透析和编码解密 本文内容框架: §1 AVL树定义 §2 AVL树平衡化旋转 §3 AVL树插入删除 §4 AVL树高度分析 §5 小结 §1 AVL树定义 1 AV...2012-10-26 10:22:43 · 364 阅读 · 0 评论 -
红黑树(Red-Black Tree)不在话下
红黑树(Red-Black Tree)红黑树定义红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求: 性质1. 节点是红色或黑色。 性质2. 根是黑色。 性质3. 所有叶子都是黑色(叶子是NIL节点)。 性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的...原创 2012-10-26 20:54:46 · 234 阅读 · 0 评论 -
伸展树(Splay Tree)尽收眼底
伸展树(Splay Tree)尽收眼底 本文内容框架: §1 伸展树定义 §2 伸展树自底向上伸展 §3 伸展树自顶向下伸展 §4 伸展树基本操作,实现以及应用 §5 小结 §1 伸展树定义 伸...原创 2012-10-27 15:11:42 · 364 阅读 · 0 评论 -
插入排序(insertion sorts)算法大串讲
插入排序(insertion sorts)算法大串讲 本文内容框架: §1 基本插入排序算法和折半插入排序算法 §2 希尔排序(shell sort)算法 §3 图书馆排序(library sort)算法 §4 耐心排序(patience sort)算法 ...原创 2012-10-28 11:30:04 · 249 阅读 · 0 评论 -
选择排序(selection sorts)算法大串讲
选择排序(selection sorts)算法大串讲本文内容框架: §1 选择排序 §2 锦标赛排序 §3 堆排序 §4 Smooth Sort §5 小结 §1 选择排序选择排序(Selection sort) 选择排...原创 2012-10-28 12:55:25 · 213 阅读 · 0 评论 -
交换排序(exchange sorts)算法大串讲
交换排序(exchange sorts)算法大串讲本文内容框架: §1 冒泡(Bubble Sort)排序及其改进 §2 鸡尾酒(Cocktail Sort)排序 §3 奇偶(Odd-even Sort)排序 §4 快速(Quick Sort)排序及其改进 ...2012-10-29 00:22:53 · 282 阅读 · 0 评论 -
归并排序(merge sorts)算法大串讲
归并排序(merge sorts)算法大串讲 本文内容框架: §1 归并排序(Merge Sort) §2 归并排序算法改进和优化 §3 Strand Sort排序 §4 小结 §1 归并排序(Merge Sort) 归并排序(Mer...原创 2012-10-29 10:04:58 · 312 阅读 · 0 评论 -
分布排序(distribution sorts)算法大串讲
分布排序(distribution sorts)算法大串讲 本文内容框架: §1 鸽巢排序(Pigeonhole) §2 桶排序(Bucket Sort) §3 基数排序(Radix Sort) §4 计数排序(Counting Sort) §5 ...2012-10-29 15:33:41 · 518 阅读 · 0 评论 -
排序算法群星豪华大汇演
排序算法群星豪华大汇演 排序算法相对简单些,但是由于它的家族比较庞大——这也许是因为简单的缘故吧,网上整理排序算法实在太多了,什么经典排序算法,八大排序算法总结,精通八大排序算法等枚不胜举,当然这里也不例外,同样是整理,同样是学习的过程。 之前一些排序算法总是说不清楚(作者自己的感受),这倒不是因为太难,作者觉得是因为排序算法太繁复了(一些算法之间的区别不是很明显),那也没有他法,只...原创 2012-10-30 00:09:16 · 489 阅读 · 0 评论 -
图算法——整理和总结
整理图算法有一段时间了,现在小有规模,做一个汇总,方便查阅和完善。 对图算法一直都只是了解的水平,偶尔也理解一两个算法,但心里都没底,就系统整理了图算法的几个基本有重要主题:图遍历、拓扑排序和关键路径、最小生成树、最短路径、二分图、强连通、最大流和最小费用最大流。其中最大流和最小费用最大流还没最终完成,由于暂时没有大量时间学习这块知识就先搁置,留待日后继续完成...2012-10-09 15:39:19 · 194 阅读 · 0 评论