学习记事
(1) 算法是对特定问题求解步骤的一种描述,他规定了解决问题的运算序列。
算法的优劣使用算法复杂度来描述,即时间复杂度和空间复杂度。
算法可以使用自然语言、伪代码、流程图等多种不同的方法来进行描述。
算法有五个特征:
有穷性:算法必须能在执行又穷个步骤之后终止
确定性:算法实现的每一步必须要有确切的含义
输入项:一个算法必须要有0或者多个输入来刻画对象的初始状态
输出项:一个算法有一个或者多个输出
可行性:算法中执行的任何计算步骤都是可以分解为基本的可执行操作步、即每一个计算步骤都可以在有限时间类完成。
算法的优劣评价标准:
1、时间复杂度:执行算法需要的计算工作量
2、空间复杂度:算法执行所需要消耗的内存空间
3、正确性:正确性是评价算法优劣最后总要的标准
4、可读性:可供人们阅读的容易程度
5、健壮性:健壮性是指一个算法对不和你数据输入的反应能力和处理能力
http://baike.baidu.com/link?url=yC0B4-aU65kkMWSL62dgdxcQkfdSqSvKsZSOfHFgiOXArhaMy_zQarVJFzg7InId
(2)结构化程序设计风格
自顶向下,逐步求精和模块化的设计思想。
使用顺序、选择和循环三种基本控制结构表示程序的控制逻辑
http://baike.baidu.com/link?url=uaOwTneCg1KE52S0NUk4qhcj8s1O0URGoGEneBBXeZ2SJxfAtAy81T8pKvQTt_ys#4_1
(3)面向对象的特性
面向对象的特征:
1.抽象:
抽象是指忽略一个主体中,与当前目标无关的一些方面,以便充分的注意与当前目标相关的方面
抽象不是打算了解主体的全部内容,只是选择其中的一部分;
抽象分为过程抽象和数据抽象。
数据抽象:针对对象的属性,如鸟的属性有两个翅膀、两只脚,有羽毛等等特征,这都是鸟的属性;
过程抽象:针对对象的行为特征,如鸟会跳、会飞,这些行为就能抽象为方法,写成类就是鸟的方法;
class Bird{
private String color;//数据抽象:鸟的属性
public void fly(){ // 过程抽象:鸟的行为(方法)
}
public static void main(String[] args){
Bird bird = new Brid();
bird.fly();//
}
}
2.继承:
继承是一种描述类的层次模型,他提供了明确表述类的共性的方法,他允许和鼓励类的重用;
一个新类可以从现有的类中派生,这个过程叫类的继承;
新类继承了原类的特性,新的类称为子类(派生类),原类称为父类(基类);
子类能继承父类的方法和属性,并且子类中可以修改或增加方法,以适应更特殊的需要;
java不支持多继承,但是可以实现多个接口;
3.封装:
封装就是将对象的过程和数据包装起来,对对象的访问只能通过定义的界面进行,即将现实世界
描述为一切完全自治、封装的对象,这些对象通过受保护的接口来访问其他其他对象。
4.多态:
多态是相同的操作作用到不同类的实例,产生不同的结果;即不同类的对象收到相同的数据得到不同的结果;
多态使基类和派生类可以具有同名、但功能不同的方法;
方法的重写(overRide)和重载(overLoad)是多态性在java中的表现,
重写:是父类和子类之间多态性的表现,即子类中的某方法,和父类的名称和参数相同,我们说该方法被重写(override);
重载:一个类中定义了多个同名的方法,但是具有不同的参数个数、参数类型或不同返回值,我们至此方法被重载(overload);
继承、多态、封装、类、对象、消息
(36) 下列工具中属于需求分析常用工具的是______。(D)
A、PAD B、PFD C、N-S D、DFD
(42) 希尔排序法属于哪一种类型的排序法______。(B)
A、交换类排序法 B、插入类排序法
C、选择类排序法 D、建堆排序法
强连通图
(73) 已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______。(B)
A、堆排序 B、直接插入排序 C、快速排序 D、直接选择排序
79) 分布式数据库系统不具有的特点是______。(B)
A、分布式 B、数据冗余
C、数据分布性和逻辑整体性 D、位置透明性和复制透明性
(5) 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
答:投影
数据库的增删查改、事务的ACID,范式、
数据关联:选择、投影、连着、连接