1.数据结构和算法简介
数据结构是指数据在计算机存储空间中的安排方式,而算法是指软件程序用来操作这些结构中的数据的过程。
2.数据结构和算法的重要性
几乎所有的程序都会使用到数据结构和算法,即便是最简单的程序也不例外。比如,你希望打印出学生的名单,这个程序使用一个数组来储学生名单,然后使用一个简单的for循环来遍历数组,最后打印出每个学生的信息。
在这个例子中数组就是一个数据结构,而使用for循环来遍历数组,则是一个简单的算法。可见数据结构和算法是构成程序的灵魂所在,而且也有人提出数据结构+算法=程序。
3.为什么选择Java语言来描述数据结构和算法?
Java语言相比C和C++语言都要简单而且目前非常流行。有些朋友肯定会提出疑问,Java语言没有指针怎么能偶构建复杂的数据结构,事实上Java语言来构建复杂数据结构比使用其他如C、C++更为简单,而且还将给程序提供更高的安全性和更少的出错机会。
4.学习Java数据结构和算法需要哪些基础?
首先需要了解Java的基础语法,还必须对面向对象编程有所了解。当然这部分内容在我们的培训课程中将涉及到,请大家认真学习。
5.Java提供了容器类以及其他的工具类,还需要学习数据结构和算法吗?
很多朋友都存在这样的疑问,觉得Java中的数据结构和算法不是特别重要。其实这个是个误区,大家不要看到市面上的书籍以及视频很少会涉及到Java数据结构和算法的内容就觉得它不重要,其实它很重要。如果你只是想成为一个Java初级程序员,你可以不去了解它,你知道如何使用Java中的容器类来完成自己的应用就可以了。但是如果你想成为一个Java中级或者高级程序员,数据结构和算法的知识是必不可少的。我相信大家都不会满足于使用容器类,而是希望能够了解其原理完善自己的应用。
一般c对数据结构的了解要求更高,java或者.net都有自己的类库。比如java的类库里面的东西就是sun公司的人员给你封装好了的,你想用链表么得就有类似的类直接可以用。但是c语言/c++的一般是要手动编写。但是了解数据结构还是很有好处的,一定程度上可以帮助你去了解java中的某些类。
摘选了一下目录的一部分:
3.3.1 Collection接口
3.3.2 Iterator接口
3.3.3 List接口、ArrayList类和LinkedList类
3.3.4 例:remove方法对LinkedList类的使用
3.3.5 关于ListIterator接口
3.4 ArrayList类的实现
可以看到,这些类都是java封装好类,直接可以拿来用。而java版本的数据结构就是告诉你这些类的内部实现。一般编程人员也不需要了解太多,当然了解了更好。