| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 山东大学项目实训树莓派提升计划二期(十二)book2内容分析与整理 -> 正文阅读 |
|
[数据结构与算法]山东大学项目实训树莓派提升计划二期(十二)book2内容分析与整理 |
在book1中,我们学习了java程序设计的基础,如字符与字符串、循环、数组等;了解并会运用java面向对象程序设计的抽象、封装、继承和多态,提升开发软件的极大灵活性、模块化和可重用性;在第五个实验中运用了JavaFX这个开发Java GUI程序的新框架进行GUI陈虚谷设计。 在book2的内容中,着重介绍数据结构和算法,包括Java集合框架、算法效率的度量、排序算法、线性表、优先队列、二叉树和AVL树等,以下是对书本内容进行的分析和整理。 参考文献:《Java语言程序设计与数据结构(进阶篇)》 梁勇(Y.Daniel Liang) 1.线性表、栈、队列和优先队列数据结构是以某种形式将数据组织在一起的集合。数据结构不仅存储数据,还支持访问和处理数据的操作。如果具有数据结构的知识,我们就可以编写出更加高效的程序。在面向对象的思想里,数据结构也被认为是一种容器或者容器对象。在之前的博客中我们已经介绍了Arraylist类,本章还讲述了更多能有效地组织和操作数据的数据结构(线性表、向量、栈、队列、优先队列、规则集和映射)。 需要学习的内容如下:
2.排序排序算法展示了许多问题求解的创造性的方法,有助于使用选择语句、循环、方法和数组来练习基本的程序设计计数,且是演示算法性能的极好例子。 本章学习目标:
3.二叉搜索树在本章之前介绍了数组线性表和链表的实现,在这些数据结构中,查找、插入和删除操作的时间复杂度是O(n)。在这一章中给出了一种新的数据结构,称为二叉搜索树。它花费O(logn)的平均时间来进行查找、插入和删除元素。 本章中我们需要了解:
4.AVL树由上一章可知,二叉树的查找、插入和删除操作的时间依赖于树的高度。最坏情形下,高度为O(n)。如果一棵树是完全平衡的,即高度是logn,那么搜索的时间就会相应的缩短些。但是维持完全平衡的代价较大,一个妥协的做法是维护一棵良好平衡的树,即每个结点的两个子树的高度基本一样。本章介绍的AVL树正是这样的树。 本章中需要学习的内容如下:
5.图及其应用图对现实世界的问题的建模和解决非常有用,真实世界的许多问题可以用图算法解决。例如,可以使用图对找寻两座相邻城市之间最小飞行次数的问题进行建模等。 本章学习内容如下:
6.加权图及其应用如果图的每条边都赋予一个权重,则该图是一个加权图。加权图也有很多实际的应用。 本章我们需要了解:
7.集合流的聚合操作一个集合流,是一个元素序列。对集合流的操作称为聚合操作,也称为流操作。使用集合操作将细节的实现给了计算机,这使代码变得简洁和简单,此外,可以利用多个处理器并行的执行流上的操作。因此,使用聚合操作编写的代码通常比使用foreach的代码运行的快。 本章的学习目标:
|
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:32:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |