常见数据结构和常见算法

转载 2015年11月20日 23:02:01
1、常见数据结构

线性:数组,链表,队列,堆栈,块状数组(数组+链表),hash表,双端队列位图(bitmap)

树:堆(大顶堆、小顶堆)trie树(字母树or字典树),后缀树,后缀树组,二叉排序/查找树,B+/B-,AVL树Treap红黑树splay树线段树树状数组

图:图

其它:并查集

2、常见算法

(1)       基本思想:枚举,递归,分治,模拟,贪心,动态规划,剪枝,回溯

(2)       图算法:深度优先遍历与广度优先遍历, 最短路径,最小生成树,拓扑排序

(3)       字符串算法:字符串查找,hash算法,KMP算法

(4)       排序算法:冒泡,插入,选择,快排,归并排序,堆排序,桶排序

(5)       动态规划:背包问题,最长公共子序列,最优二分检索树

(6)       数论问题:素数问题,整数问题,进制转换,同余模运算,

(7)       排列组合:排列和组合算法

(8)       其它:LCA与RMQ问题

不断添加中……

数据结构中常用算法

排序常用的算法有:插入算法(直接插入算法、折半插入算法、希尔算法)、选择算法(简单选择算法、堆排序算法)、快速算法(冒泡排序、快速排序算法) 以下程序给出了各种算法的实现,其接口为void sort...
  • ProgramVAE
  • ProgramVAE
  • 2016年12月02日 16:55
  • 520

数据结构和常用算法

1. 常见数据结构 人们进行程序设计时通常关注两个重要问题,一是如何将待处理的数据存储到计算机内存中,即数据表示;二是设计算法操作这些数据,即数据处理。数据表示的本质是数据结构设计,数据处理的本质是...
  • miracle_gu
  • miracle_gu
  • 2015年10月02日 14:04
  • 4568

常见数据结构与算法整理总结(上)

数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。下面是自己整理的常用数据结构与算法相关内容,如有错误...
  • mrchige
  • mrchige
  • 2016年09月24日 20:18
  • 317

面试常考算法题总结(一)

题目链接:面试常考算法题(一) 题目1:请把一张窄纸条竖着放在桌上,然后从纸条的下边向上对折,压出折痕后再展开。此时有1条折痕,突起的一面向指向纸条的背面,这条折痕叫做“下”折痕;突起的向指向纸条正面...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2016年08月29日 23:09
  • 1350

常见算法与数据结构整理

校招季自己整理的相关知识点,会一直更新。 一、动态规划 主要思路:先确定优化方程,再确定递推关系 1、最长公共字串(LCS) X,Y的公共字串为Z,Z中的字符串在X,Y中不一定要连续出现,但是...
  • mantianpiaoling
  • mantianpiaoling
  • 2016年07月21日 16:45
  • 1597

[数据结构]一些常见的算法思想

1,分治思想 计算输入向量中任何连续子向量中的最大和。 [31,-41,59,26,-53,58,97,-93,-23,84] 直接算法: 分治思想: 将向量分解为两个子向量,求解每个向...
  • u013686805
  • u013686805
  • 2014年06月23日 20:14
  • 850

几种常见的重要数据结构总结

栈的表示1. 数组2. 链表(优点:无需指定大小,不存在栈溢出等情况的处理) 队列表示1. 数组(构造成循环队列以提高空间使用效率)2. 链表  二叉树 (满二叉树、完全二叉树、稀疏二叉树等)1. 数...
  • Andrew659
  • Andrew659
  • 2010年07月30日 22:10
  • 8019

常见数据结构与算法整理总结

一、线性表 线性表是最常用且最简单的一种数据结构,它是n个数据元素的有限序列。 实现线性表的方式一般有两种,一种是使用数组存储线性表的元素,即用一组连续的存储单元依次存储线...
  • yan_liwei
  • yan_liwei
  • 2017年03月05日 18:45
  • 431

常见的数据结构的优缺点

ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢...
  • haiyang0735
  • haiyang0735
  • 2015年10月03日 16:18
  • 1663

常见算法和数据结构集合

巧填奇数阶幻方(魔方阵)[转] 一、什么叫幻方? (通俗点说)把一些有规律的数填在纵横格数都相等的正方形图内,使每一行、每一列和每一条对角线上各个数之和都相等。这样的方阵图叫做幻方。 幻方又分为奇数阶...
  • tianmo2010
  • tianmo2010
  • 2011年10月05日 21:13
  • 712
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常见数据结构和常见算法
举报原因:
原因补充:

(最多只允许输入30个字)