栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据结构与算法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构与算法

实际项目中除了概念的抽象之外,实际对象数据量很多情况下,数据存储关系以及数据的获取也是一项重要的问题。问题的解决思路,对应的算法也是一项非常重要的工作,这种类型的工作往往和实际的应用场景有关系。第一项数据抽象以及数据之间的关联关系,其核心是设计模式,是概念定义,处理实际问题中,这个往往是最重要的环节。一个问题内容定位出问题了,后面的事情处理起来就比较麻烦。对于最后一项内容,比方说转发类型,转发的流程逻辑是其核心算法。图像处理、AI、数值计算等领域又是另外一套算法内容,当然这种算法可能是一个公式描述,也可能就是一套逻辑处理理论。数据结构与算法课程专注于数据元素个体之间的存储链接关系,以及特定数据结构上面元素算法。按照编程思维来讲,对象的封装和对象之间的关系解决的是内容描述的问题,对象的定义问题。对于C语言,void*指针完成不同类型的数据管理。对于高级语言,泛型编程技术路线是最佳选择。

1. 数据

基本的数据结构列表

CC++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算法
...
排序算法 冒泡排序 冒泡排序 冒泡排序
 快速排序 快速排序 快速排序
 直接插入排序 直接插入排序 直接插入排序
 希尔排序 希尔排序 希尔排序
 选择排序 选择排序 选择排序
 堆排序 堆排序 堆排序
 归并排序 归并排序 归并排序
 桶排序 桶排序 桶排序
 基数排序 基数排序 基数排序

2. 高级语言

高级语言是面向对象语言,OOP(Object-Oriented programming)企图将datas和methods联系在一起,对数据进行合理的封装。但是GP(Generic Programming)企图将datas和methods分开,这样数据存储和数据的基本算法操作就可以合理的分开,算法和结构的分离使得算法具有更好的通用性,减少不必要的代码,算法和数据描述是完全分离开来了。

C++STL库中sort算法对迭代器有要求,要求随机迭代器,list列表迭代器没有办法使用sort直接使用。但是list这种列表有自己的排序算法,当然必然首先用自己容器带的算法。

所有的算法,期内最终涉及元素本省的操作,无非就是比大小。

数据结构与算法代码下载地址

其中包含的最基本的单元测试。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/735421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号