前面在常用的排序算法中,已经写过一篇关于快速排序算法的博客,但是最近看到<The C Programming Language>这本书中的快速排序算法写的不错,所以就拿过来分享一下,下面我们来看一下吧. 快速排序算法是C. A. R. Hoare于1962年发明的.快速排序思想是:对于一个给定的数组,从中选择一个元素,以该元素为界将其余元素划分为两个子集.一个子集中的所有元素都小于该元素,另一个子集中的所有元素都大于或等于该元素.对这样两个子集递归执行这一过程,当某个子集中的元素数小于2时,这…
小小粉丝度度熊 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1343 Accepted Submission(s): 435 Problem Description 度度熊喜欢着喵哈哈村的大明星——星星小姐.为什么度度熊会喜欢星星小姐呢?首先星星小姐笑起来非常动人,其次星星小姐唱歌也非常好听.但这都不是最重要的,最重要的是,星星…
小小明系列故事--游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 960 Accepted Submission(s): 341 Problem Description 小小明最近在玩一款游戏,它由n*m大小的矩阵构成,矩阵上会随机产生一些黑色的点,这些点它们可能会连在一起也可能会分开,这些点的个数没有限制,但是每个1*…
这篇BLOG是我很早以前写的,因为现在搬移到CNBLOGS了,经过整理后重新发出来. 工作之前的几年一直都在搞计算机安全/病毒相关的东西(纯学习,不作恶),其中PE文件格式是必须知识.有些PE文件,比如驱动,系统会在加载时对checksum进行校验,确保驱动文件的完整性.关于PE文件如何校验,网上有很多资料可以学习,这里有一篇文章<An Analysis of the Windows PE Checksum Algorithm>是对WINDOWS API CheckSumMappedFile…
Sept. 10, 2015 Study again the back tracking algorithm using recursive solution, rat in maze, a classical problem. Made a few of mistakes through the practice, one is how to use two dimension array, another one is that "not all return path returns va…
小小科学家的归来 by 王垠很多人来信关心我的现状,所以在写别的技术性文章之前,先说说我现在的情况吧.虽然自己追求的东西和经历都比较不同寻常,但是也许可以给奋斗中的人们一些慰藉和鼓励. 首先是超级好消息.几经周折,我得到了我想要的东西:异常强大而独立的思想.我成为了我想成为的人:曾经那个爱玩蚂蚁的“小小科学家”.他的灵魂回到了我身上.现在的我,每一天都充满了激情.脑子里总是有一些没法描述的,神奇的思想在萌发.它们让我感觉到无与伦比的美,让我的脸上浮现出笑容.它们让我从睡梦中蹦起,去试验.它们让我…
This's my first version.The logic is simple, just the selection sort. I spent much time learning how to write AT&T assembly on 64-bit Linux.almost all books just talk about 32-bit assembly. Such as registers, on 64-bit linux, rax, rbx, rcx..... are a…
OpenCASCADE Root-Finding Algorithm eryar@163.com Abstract. A root-finding algorithm is a numerical method, or algorithm, for finding a value x such that f(x)=0, for a given function f. Such an x is called a root of the function f. In OpenCASCADE math…
Mesh Algorithm in OpenCascade eryar@163.com Abstract. Rendering a generic surface is a two steps process: first, computing the points that will form the mesh of the surface and then, send this mesh to 3D API. Use the Triangle to triangulate the param…
Manacher's algorithm 以\(O(n)\)的线性时间求一个字符串的最大回文子串. 1. 预处理 一个最棘手的问题是需要考虑最长回文子串的长度为奇数和偶数的情况.我们通过在任意两个字符之间填充 # 的方法, 将原字符串 \(S\) 转化为辅助字符串 \(T\),具体例子如下: S = a b a a b a T = # a # b # a # a # b # a # 转化后便可不必再考虑奇偶问题,同时辅助字符串的长度也变为奇数. 转化后字符串\(T\)的长度为奇数: 在长度为奇数…
I collect and make up this pseudocode from the book: <<Introduction to the Design and Analysis of Algorithms_Second Edition>> _ Anany LevitinNote that throughout the paper, we assume that inputs to algorithms fall within their specified ranges…
为学习算法和使用.实践 GIT & GitHub ,而写此系列. 我使用的编译器是 visual studio community 2015 低版本的VS打不开GitHub中的解决方案,拷贝代码是不要忘记引入 stdafx.h 中引入的文件 别外需要注意的是visual studio community 2015默认安装是不安装 MFC for c++ 的, (如下图)没有勾上这个选项的是不能新建.打开C++工程的,前两个选择是绑定在一起的,至于下面的 XP 就看各位喜好了 工程的algorit…
reference: Rabin-Karp and Knuth-Morris-Pratt Algorithms By TheLlama– TopCoder Member https://www.topcoder.com/community/data-science/data-science-tutorials/introduction-to-string-searching-algorithms/ // to be improved #include <cstdio> #include <…
Linked List Cycle Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using extra space? Linked List Two Pointers ''' Created on Nov 13, 2014 @author: ScottGu<gu.kai.66@gmail.com, 150316990@qq.com> ''' # De…