绪论总结1—15

        首次接触数据结构这门课程,内心既是好奇又有迷茫,因为本事自己大一的C++学的不是很透彻,但是学完仇老师的一节课,心里敞亮了些许,以下为学生对第一章绪论重点的一个简单论述,错误之处请各位能人异士指正。

        一、在弄明白数据结构概念之前,先来一个热身——认识一下数据:其实信息的载体,在计算机中是指所有能输入到计算机中并能被计算机程序识别和处理的符号集合。数据分为两大类:一类是整数、实数等数值数据;另一类是文字、声音、图形和图像等非数值问题。我们是从非数值问题开始讨论,到数据的逻辑结构(集合,线性结构,树结构,图结构)、再到数据的存储结构(顺序存储,链式存储),最后是数据的操作(插入、删除、修改、检索、排序等)。

        数据元素是数据的基本单位,构成数据元素的最小单位为数据项,数据结构是指相互之间存在一定关系的数据元素的集合。

        二、接下来认识一下抽象数据类型:是一组值的集合以及定义于这个值集上的一组操作的总称。概念比较模糊,我现在才明白在程序语言中的抽象的定义:抽出问题本质的特征尔忽略非本质的细节,是对具体事物的一个概括。在老师提问的过程中还闹过一个笑话,真是愚钝了。

        三、下一个重点就是算法及算法分析。

算法是对特定问题求解步骤的一种描述,是指令的优先序列。称之为一个算法必须满足五个重要特性:输入、输出、有穷性、确定性、可行性。算法的描述方法:1、自然语言,它最大的优点是容易理解,缺点是容易出现二义性,冗长。2、流程图:有点事直观易懂,缺点是严密性不好,灵活性不高。3、程序设计语言:优点是能由计算机直接执行,缺点是抽象性差。4、伪代码:抽象级别高的伪代码自然语言多一点,级别低的伪代码程序设计语言的语句多一些。个人觉得欧几里得算法特别重要,现插入代码

#include <iostream>
int CommonFactor(int m,int n)
{
   int r=m%n;
   while(r!=0)
{
   m=n;
   n=r;
   r=m%n;
}
return n;
}
int main()
{
   cout<<CommonFactor(63,54)<<endl;
return 0;
}

       四、如何度量一个算法的效率呢?一种方法是事后统计,测量其时间和空间开销。但有缺点:1、编写程序实现算法将花费较多的时间和精力;2、所得实验结果依赖于计算机的软硬件等环境因素,有时容易掩盖算法本身的优劣。通常我们采用事前分析估算的方法——渐进复杂度。常见的渐进复杂度应熟练记忆。

 

       

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值