开发环境 1JDK1.8.0 2IntelliJ IDEA 2018 3Win10系统 算法基本概念:算法Algorithm,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或者多个操作。 算法特特点: 1有穷性:指令序列是有限的 2确定性:每条语句的含义明确,无二义性 3可行性:每条语句都应在有限的时间内完成 4输入:零个或多个输入 5输出:一个或多个输出 算法和程序的区别 程序:程序是软件开发人员根据用户需求开发的,用程序设计语言描述的适合计算机执行的指令或者语句序列。 程序包含:1 数据结构 2 算法 3程序设计方法 4 编程语言 数据类型 数据类型:是指一个值的集合和定义在集合上的操作集合。例如java的整数类型(Integer),就不仅仅表示整数数值的集合,还包括对整数类型进行的操作集合,加,减,乘,除,模等操作 我们通常所指的数据类型是某种高级语言支持的基本数据类型,比如java的基本数据类型:int, double, float, char等等 抽象数据类型 抽象数据类型:一个数学模型以及定义在这个模型上的一组操作 看起来抽象数据类型和数据类型的定义基本相同。不同点在于:数据类型通常是指某种高级语言的,而抽象数据类型用户重新设计,一种概念。这里的“抽象”的含义在于数学抽象 原子类型:比如整型 固定聚合类型:比如复数,两个实数确定的次序构成 可变聚合类型:比如汽车类型,构成的成分是不确定的(因为小轿车,大卡车的构成是不同的) 抽象数据类型抽象的层次越高,那么可复用性也越高 比如:java中的Object是对所有对象的抽象,那么就可以作为所有类的父类 例如:如下定义学生抽象数据类型 学号;姓名;性别;出生日期;专业;电子邮箱;联系方式 import java.util.Calendar; import java.text.SimpleDateFormat; import java.util.Date; //设计一个学生类 public class Students { String sid; //学号 String name; //姓名 char gender; //性别 Date birthday; //出生日期 String contact;//地址 public Students(String sid, String name, char gender, Date birthday, String contact) { this.sid = sid; this.name = name; this.gender = gender; this.birthday = birthday; this.contact = contact; } void printStudentsInfo() { SimpleDateFormat sdf = new SimpleDateFormat("yyy年MM月dd日"); System.out.println("学号: " + this.sid); System.out.println("姓名: " + this.name); System.out.println("性别:" + this.gender); System.out.println("出生日期:" + sdf.format(this.birthday)); System.out.println("联系方式: " + this.contact); } public static void main(String[] args){ Calendar c = Calendar.getInstance(); c.set(1995, 5, 30); Date d = c.getTime(); Students s = new Students("S0001", "张三丰", '男', d, "北京市海淀"); s.printStudentsInfo(); } }
运行结果: 学号: S0001 姓名: 张三丰 性别:男 出生日期:1995年06月30日 联系方式: 北京市海淀
1算计概述与抽象数据类型
最新推荐文章于 2022-02-28 23:55:54 发布