2.19java和数据结构学习笔记

数据结构:学习了最短路径和拓扑排序,最短路径的两个算法Dijkstra和Floyd给我的感觉就像是dp,一个是dp的一维数组一个是dp的二维数组。Dijkstra是不断更新起点到i的最短距离存入d[i]中,Floyd就是先把所有s到e的距离放入数组d[s][e]里面,再判断是否存在经过点k的路径小于直接连接s,e的路径由此得到最短路径。(数组初始化要为无穷大)
拓扑排序不是一种排序,而是用来判断一个图,是否形成了环(是否为AOE网),并且可以通过他把路径输出。首先对于每个顶点我们给他三种变量,一个是他的入度(以他为终点指向他的边的数量),一个是他本身的下标,一个是他指向的下一个元素的下标(可以是多个,所以可以用数组),当顶点入度为0时入栈,然后删除该元素,并且把它指向的元素的入度减一,然后依此输出栈顶。如果输出的顶点少于图的顶点数,就不是AOE网。
java:今天主要学习了类与对象。类是构造对象的模板,每个对象都有他自己的类,公开的类可以在多对象中通用,类与类之间存在着一种继承的关系,比喻成父类和子类,父类比较抽象,子类比较具体,子类还可以用新的类来覆盖继承父类的功能。并且了解体会到了类的好处:对于一个项目可能需要进行多次修改,而我们以前的代码(称为过程)一旦修改就很有可能牵一发而动全身,而面向对象编程就只需要修改某一个类或者增添一个新的类。对于建立的对象,通常需要两个类才能是对象运作起来,一个是操作对象的类,一个是测试对象的类。
java中通常没有全局变量,在变量名前加上public、static和final就会变成全局变量取用的常数。
对对象编程,基本都是已知对象的数据,行为等。

发布了21 篇原创文章 · 获赞 3 · 访问量 1736

猜你喜欢

转载自blog.csdn.net/weixin_45823991/article/details/104398556