![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
小布丁的读书笔记
知其然也要知其所以然
展开
-
我的算法学习之路
原文链接:http://lucida.me/blog/on-learning-algorithms/ 关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的。 这篇文章讲了什么? 我这些年学习数据结构和算法的总结。 一些不转载 2016-06-03 14:11:54 · 324 阅读 · 0 评论 -
漫谈算法(番外篇) 符号标记以及基本数学公式
说到算法,大家最熟悉的恐怕就是这个大欧标记了,即O。什么基于比较的排序算法最好是O(nlgn)了什么的。(注,本系列文章里不区分log和lg,两个符号都是表示以二为底的对数) 更general一点,我们可以写成O(g(n)),这个东西是什么吗,其实他是一个集合,表示所以满足条件的一系列函数,这一系列函数有什么特点呢?那就是g(n)是他们的上界,更准确的说,是一个constant c, c*g转载 2017-07-12 00:04:08 · 467 阅读 · 0 评论 -
字符串匹配算法
字符串匹配问题的形式定义: 文本(Text)是一个长度为 n 的数组 T[1..n];模式(Pattern)是一个长度为 m 且 m≤n 的数组 P[1..m];T 和 P 中的元素都属于有限的字母表 Σ 表;如果 0≤s≤n-m,并且 T[s+1..s+m] = P[1..m],即对 1≤j≤m,有 T[s+j] = P[j],则说模式 P 在文本 T 中出现且位移为 s,且称 s 是一个转载 2017-08-16 11:07:09 · 307 阅读 · 0 评论 -
排序算法汇总
一、插入排序 直接插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 代码实现:转载 2017-07-26 16:40:37 · 433 阅读 · 0 评论 -
ACM算法列表
ACM 所有算法 数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列 双端队列 可并堆 左偏堆 二叉查找树 Treap 伸展树 并查集 集合计数问题 二分图的识别 平衡二叉树 二叉排序树 线段树 一维线段树 二维线段树 树状数组 一维树状数组 N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 桶,跳跃表转载 2017-08-18 13:47:24 · 388 阅读 · 0 评论 -
常见排序算法 - 希尔排序 (Shell Sort)
希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本。它的作法不是每次一个元素挨一个元素的比较。而是初期选用大跨步(增量较大)间隔比较,使记录跳跃式接近它的排序位置;然后增量缩小;最后增量为 1 ,这样记录移动次数大大减少,提高了排序效率。希尔排序对增量序列的选择没有严格规定。 希尔排序是基于插入排序的以下两点性质而提出转载 2017-07-27 10:24:31 · 503 阅读 · 0 评论 -
堆排序
1、堆排序定义 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 (2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)转载 2017-07-27 17:55:45 · 289 阅读 · 0 评论 -
收录一些算法学习资料
作者:Felis sapiens 链接:https://www.zhihu.com/question/20370438/answer/38995813 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 推荐@peng_gong的我的算法学习之路。该文里提及了不少通用的数据结构与算法教材,以及作者阅读的体会。 如果文中的算法书都能hold住了,再接下原创 2017-07-28 16:43:45 · 345 阅读 · 0 评论 -
A星寻路算法介绍
A星寻路算法介绍你是否在做一款游戏的时候想创造一些怪兽或者游戏主角,让它们移动到特定的位置,避开墙壁和障碍物呢?如果是的话,请看这篇教程,我们会展示如何使用A星寻路算法来实现它!在网上已经有很多篇关于A星寻路算法的文章,但是大部分都是提供给已经了解基本原理的高级开发者的。本篇教程将从最基本的原理讲起。我们会一步步讲解A星寻路算法,幷配有很多图解和例子。不管你使用的是什么编程语言或者操作平台,你会发...转载 2018-04-18 16:58:38 · 668 阅读 · 0 评论