数据结构与算法
文章平均质量分 81
weixin_38403493
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】第一章 引言及算法分析
第一章 引言及算法分析 数据结构和算法解决的问题: 1、数据的有效存储数据 2、排序问题 3、查找问题 一、为什么要学习数据结构 1、数据结构是所有计算机专业的同学必学的课程 2、数据结构研究的是如何在计算机中组织和存储,使得我们可以更好的获取数据和修改数据 3、数据结构的家族,三种结构: 4、数据结构的应用: 我们常用的数据库、操作系统快速多任务切换、文件压缩、通讯...原创 2018-12-15 17:40:59 · 167 阅读 · 0 评论 -
【数据结构与算法】第二章 数组、链表、栈和队列(基础)
第二章 数组、链表、栈和队列(基础) 表、栈、队列都属于线性的数据结构 这一章是基于数组及对数组的优化来讲。 一、普通数组 int[] arr = new int[10]; 这是一个普通数组的基本结构,也是java语言中最基础的数据结构。数组也分为一维数组和多维数组。我们这次主要来讲一维数组。 1、解决数据存储的问题。它是带有一组操作对象的集合。(由于java是强类型的...原创 2018-12-15 17:42:27 · 221 阅读 · 0 评论 -
【数据结构与算法】第三章 树(解决查找问题)
第三章 树(解决查找问题) 树是对链表的优化: 1、对于大量的输入数据,链表的线性访问时间太慢,不宜使用。 2、解决链表类的查找和排序的问题。 处理特殊领域的数据,会有出奇的高效率。快速搜索。 数据结构不光解决的是数据的存储问题,更重要的是在特定情况使用某种特定的数据结构可以解决高效的搜索问题。 树结构可以解决链表的线性访问时间效率的问题。说白了就是对链...原创 2018-12-15 17:43:50 · 461 阅读 · 0 评论 -
【数据结构与算法】第四章 散列(解决查找问题)
第四章 散列(解决查找问题) 1、散列是一种用于以常数平均时间执行插入、删除和查找的技术。它解决的是数组的值的快速查找问题。 2、它解决的是查询的时候可以达到O(1)的时间复杂度。因为它底层是一个数组。所以可以随机的定位。 3、散列的底层是数组,但又不同于普通的数组。它牺牲了排序性,同样findMin\findMax这样的方法也不适用。它提高的是对值的查找效率。使得数值和索引下标可以进行改换...原创 2018-12-15 17:44:51 · 354 阅读 · 0 评论 -
【数据结构与算法】第五章 优先队列(堆)排序
第五章 优先队列(堆)排序 优先队列是对Queue的一种优化方案。 java标准库中实现Queue的是LinkedList.它只能解决先进先出的排队操作。它是按入队时间的先后顺序进行存储。而优先队列是按优先级的顺序进行存储。 在现实生活中也很常见,比如火车站买票,军人优先、有特殊情况的客人优先。也就是说不按你的时间顺序,而是客人的优先级别。 优先队列,也就可以称为最大堆或最小堆,具体...原创 2018-12-15 17:45:59 · 471 阅读 · 0 评论 -
【数据结构与算法】第六章 排序(数组)
第六章 排序(数组) 1、我们这章所说的排序是针对数组的排序。切记这一点。 2、被排序的对象必须属于Comparable类型,是可比较的。 https://www.cnblogs.com/onepixel/articles/7674659.html 我们介绍以下几种排序的方式: 选择排序、插入排序、归并排序、快速排序、堆排序 一、选择排序(O(n^2)) 选择排序也...原创 2018-12-15 17:47:15 · 257 阅读 · 0 评论