
算法与数据结构
simanstar
后台开发
展开
-
ACM常用算法
在网上看到的,准备按着这个一项一项练习~~第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除原创 2013-02-16 21:12:14 · 869 阅读 · 0 评论 -
图算法领域10大经典算法
作者:July 二零一一年二月十四日。参考:维基百科、本BLOG 内经典算法研究系列10篇文章。博主说明:1、本文囊括了图算法领域中的全部20个重要算法,并从中甄选出了此十大算法。2、此十大算法的评选是以我个人之见而选,其它虽未囊括于10之内,但都在本文中有所提到。-------------------------------------------第一章、基本转载 2017-12-26 21:41:07 · 31969 阅读 · 1 评论 -
【动态规划】最长公共子序列与最长公共子串
1. 问题描述子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串cnblogsbelong比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest Common Subsequence, LCS),顾名思义,是指在所有的子序列中最长的那一个。子串是要求更严格的一种子序列转载 2017-02-15 21:41:59 · 372 阅读 · 0 评论 -
字符串匹配的KMP算法
作者: 阮一峰 发布时间: 2013-08-28 17:12 阅读: 108442 次 推荐: 199 原文链接 [收藏] 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morri转载 2017-02-28 11:34:01 · 621 阅读 · 0 评论 -
红黑树(删除)
本文地址:http://blog.youkuaiyun.com/spch2008/article/details/9338923相对于红黑树插入操作,删除操作复杂的多。第一:先看最简单情况,即删除红色节点。删除红色节点,不影响红黑树平衡性质,如图: 只需要删除红色节点,不需要进行调整,因为不影响红黑树的性质。 黑色节点没有增多也没有减少。注意:以下几种单支情况在平衡的红黑转载 2016-10-26 15:48:56 · 318 阅读 · 0 评论 -
希尔排序Shell sort
经典排序算法 - 希尔排序Shell sort经典排序算法 - 希尔排序Shell sort希尔排序Shell Sort是基于插入排序的一种改进,同样分成两部分,第一部分,希尔排序介绍第二部分,如何选取关键字,选取关键字是希尔排序的关键第一块希尔排序介绍准备待排数组[6 2 4 1 5 9]首先需要选取关键字,例如关键是3和1(第一步分成三组,第二步分成一组),那么待排原创 2014-03-02 11:30:24 · 1297 阅读 · 0 评论 -
数据结构算法书籍推荐
学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。在这里列出一些我看过或者准备看的算法书籍,以供参考。A 原书名:The Art of Computer Programming 中文名:计算机程序设计艺术 作者:Donald E.Knuth 难度:***** 个人评价:******* 推荐程度:*原创 2014-02-24 15:30:18 · 7214 阅读 · 1 评论 -
大学生是否应该搞ACM
以下信息并非个人意见,是来自网络上的信息,仅供参考!----------------问:我想做项目,老师却推荐参加acm,身边的朋友很多选择了acm,acm对未来的发展很有用吗?答:这个难说呀~~ 自己说点薄见吧: ACM ,从某种角度上来说不能说它很重要吧, 因为,你学习了它两三年之后,不一定是牛人! 牛人出来咱就不说,“销路”肯定很好了。 如果,混的不是很咋地,那么你出转载 2013-02-16 21:07:58 · 3310 阅读 · 1 评论 -
参加ACM比赛所需的基础知识
参加ACM比赛所需的基础知识 一、语言是最重要的基本功 无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,语言都是大家要 过的第一道关。亚洲赛区的比赛支持的语言包括C/C++与JAVA。笔者首先说说JAVA,众所 周知,作为面向对象的王牌语言,JAVA在大型工程的组织与安全性方面有着自己独特的转载 2013-02-16 21:09:39 · 1519 阅读 · 0 评论 -
跳表(SkipList)
SkipList跳表基本原理为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis 和 Lev...转载 2018-03-08 21:46:12 · 289 阅读 · 0 评论