转:数据结构与算法系列

原文来自于:http://www.cnblogs.com/skywang12345/p/3603935.html

最近抽空整理了"数据结构和算法"的相关文章。在整理过程中,对于每种数据结构和算法分别给出"C"、"C++"和"Java"这三种语言的实现;实现语言虽不同,但原理如出一辙。因此,读者在了解和学习的过程中,择其一即可!

下面是整理数据数据和算法的目录表,对于每一种按照C/C++/Java进行了划分,方便查阅。若文章有错误或纰漏,请不吝指正。谢谢!

数据结构和算法目录表
  C C++ Java
线性结构
1. 数组、单链表和双链表

2. Linux内核中双向链表的经典实现

 数组、单链表和双链表  数组、单链表和双链表
     
 队列  队列  队列
树形结构   二叉查找树  二叉查找树  二叉查找树
 AVL树  AVL树  AVL树
 伸展树  伸展树  伸展树

1. 红黑树(一)之 原理和算法详细介绍

2. 红黑树(二)之 C语言的实现

3. 红黑树(三)之 Linux内核中红黑树的经典实现

4. 红黑树(六)之 参考资料


1. 红黑树(一)之 原理和算法详细介绍

2. 红黑树(四)之 C++的实现

3. 红黑树(六)之 参考资料


1. 红黑树(一)之 原理和算法详细介绍

2. 红黑树(五)之 Java的实现

3. 红黑树(六)之 参考资料

 哈夫曼树 哈夫曼树   哈夫曼树
...    
 二叉堆  二叉堆  二叉堆
 左倾堆  左倾堆  左倾堆
 斜堆  斜堆  斜堆
 二项堆  二项堆  二项堆
 斐波那契堆  斐波那契堆  斐波那契堆
...    
图的理论基础  图的理论基础  图的理论基础 

1. 邻接矩阵无向图

2. 邻接表无向图

3. 邻接矩阵有向图

4. 邻接表有向图


1. 邻接矩阵无向图

2. 邻接表无向图

3. 邻接矩阵有向图

4. 邻接表有向图


1. 邻接矩阵无向图

2. 邻接表无向图

3. 邻接矩阵有向图

4. 邻接表有向图

深度优先搜索和广度优先搜索 深度优先搜索和广度优先搜索 深度优先搜索和广度优先搜索
拓扑排序 拓扑排序 拓扑排序
Kruskal算法 Kruskal算法 Kruskal算法
Prim算法 Prim算法 Prim算法
Dijkstra算法    
...    
排序算法  冒泡排序  冒泡排序  冒泡排序
 快速排序  快速排序  快速排序
 直接插入排序  直接插入排序  直接插入排序
 希尔排序  希尔排序  希尔排序
 选择排序  选择排序  选择排序
 堆排序  堆排序  堆排序
 归并排序  归并排序  归并排序
 桶排序  桶排序  桶排序
 基数排序  基数排序  基数排序
...    
     
时间: 2024-10-11 05:47:31

转:数据结构与算法系列的相关文章

数据结构与算法系列 目录

最近抽空整理了"数据结构和算法"的相关文章.在整理过程中,对于每种数据结构和算法分别给出"C"."C++"和"Java"这三种语言的实现:实现语言虽不同,但原理如出一辙.因此,读者在了解和学习的过程中,择其一即可! 下面是整理数据数据和算法的目录表,对于每一种按照C/C++/Java进行了划分,方便查阅.若文章有错误或纰漏,请不吝指正.谢谢! 数据结构和算法目录表   C C++ Java 线性结构 1. 数组.单链表和双链表

深度解析(一)数据结构与算法系列目录

数据结构与算法系列 目录 最近抽空整理了"数据结构和算法"的相关文章.在整理过程中,对于每种数据结构和算法分别给出"C"."C++"和"Java"这三种语言的实现:实现语言虽不同,但原理如出一辙.因此,读者在了解和学习的过程中,择其一即可! 下面是整理数据数据和算法的目录表,对于每一种按照C/C++/Java进行了划分,方便查阅.若文章有错误或纰漏,请不吝指正.谢谢! 数据结构和算法目录表   C C++ Java 线性结构

数据结构与算法系列四(单链表)

1.引子 1.1.为什么要学习数据结构与算法? 有人说,数据结构与算法,计算机网络,与操作系统都一样,脱离日常开发,除了面试这辈子可能都用不到呀! 有人说,我是做业务开发的,只要熟练API,熟练框架,熟练各种中间件,写的代码不也能“飞”起来吗? 于是问题来了:为什么还要学习数据结构与算法呢? #理由一: 面试的时候,千万不要被数据结构与算法拖了后腿 #理由二: 你真的愿意做一辈子CRUD Boy吗 #理由三: 不想写出开源框架,中间件的工程师,不是好厨子 1.2.如何系统化学习数据结构与算法?

数据结构与算法系列七(队列)

1.引子 1.1.为什么要学习数据结构与算法? 有人说,数据结构与算法,计算机网络,与操作系统都一样,脱离日常开发,除了面试这辈子可能都用不到呀! 有人说,我是做业务开发的,只要熟练API,熟练框架,熟练各种中间件,写的代码不也能“飞”起来吗? 于是问题来了:为什么还要学习数据结构与算法呢? #理由一: 面试的时候,千万不要被数据结构与算法拖了后腿 #理由二: 你真的愿意做一辈子CRUD Boy吗 #理由三: 不想写出开源框架,中间件的工程师,不是好厨子 1.2.如何系统化学习数据结构与算法?

数据结构与算法系列十三(选择排序)

1.引子 1.1.为什么要学习数据结构与算法? 有人说,数据结构与算法,计算机网络,与操作系统都一样,脱离日常开发,除了面试这辈子可能都用不到呀! 有人说,我是做业务开发的,只要熟练API,熟练框架,熟练各种中间件,写的代码不也能“飞”起来吗? 于是问题来了:为什么还要学习数据结构与算法呢? #理由一: 面试的时候,千万不要被数据结构与算法拖了后腿 #理由二: 你真的愿意做一辈子CRUD Boy吗 #理由三: 不想写出开源框架,中间件的工程师,不是好厨子 1.2.如何系统化学习数据结构与算法?

数据结构与算法系列研究四——数组和广义表

稀疏矩阵的十字链表实现和转置 一.数组和广义表的定义 数组的定义1:一个 N 维数组是受 N 组线性关系约束的线性表.           二维数组的逻辑结构可形式地描述为:           2_ARRAY(D,R)              其中 D={aij} | i=0,1,...,b1-1; j=0,1,...,b2-1;aij∈D0}              R={Row,Col}              Row={<aij,ai,j+1>|0<=i<=b1-1;

数据结构与算法系列----平衡二叉树(AVL树)

一:背景 平衡二叉树(又称AVL树)是二叉查找树的一个进化体,由于二叉查找树不是严格的O(logN),所以引入一个具有平衡概念的二叉树,它的查找速度是O(logN).所以在学习平衡二叉树之前,读者需要了解二叉查找树的实现,具体链接:二叉查找树 那么平衡是什么意思?我们要求对于一棵二叉查找树 ,它的每一个节点的左右子树高度之差不超过1.(对于树的高度的约定:空节点高度是0:叶子节点高度是1.)例如下图: 如果我们的二叉查找树是不平衡该怎么办?进行旋转.经过分析发现,出现不平衡无外乎四种情况,下面我

数据结构与算法系列研究三——字符串

字符串的研究和KMP算法分析和实现 一.串的定义 串是计算机非数值处理的基本对象.串是一种特殊的线性表,它的每个结点仅由一个字符组成,并且单个元素是无意义的.    1.串(string):是由0个或多个字符组成的有限序列,记作:          S="a1a2...an"  (n>=0)          其中:S是串名,两个双引号括起来的字符序列为串的值.双引号不属于串.                   ai(1<=i<=n)为字母.数字或其它符号.    

数据结构与算法系列----AC自己主动机

一:概念 首先简要介绍一下AC自己主动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之中的一个.一个常见的样例就是给出n个单词,再给出一段文章(长度是m),让你找出有多少个单词在文章里出现过. 要搞懂AC自己主动机.先得有字典树Trie的基础知识(也有人说需要KMP的知识,我认为暂且不要理会这个. 可是在看这篇文章之前,Trie字典树,你是必需要先搞懂,假设你还不理解Trie,请參考http://blog.csdn.net/laoji

数据结构与算法系列研究五——树、二叉树、三叉树、平衡排序二叉树AVL

树.二叉树.三叉树.平衡排序二叉树AVL 一.树的定义 树是计算机算法最重要的非线性结构.树中每个数据元素至多有一个直接前驱,但可以有多个直接后继.树是一种以分支关系定义的层次结构.    a.树是n(≥0)结点组成的有限集合.{N.沃恩}     (树是n(n≥1)个结点组成的有限集合.{D.E.Knuth})      在任意一棵非空树中:        ⑴有且仅有一个没有前驱的结点----根(root).        ⑵当n>1时,其余结点有且仅有一个直接前驱.         ⑶所有结