2018年7月25日日报

姓名:任光烨 日期:2018年7月25日

今日学习任务:学习指针及数组,数据结构。

今日完成情况:都已完成,100~200行代码。

今日开发中出现的问题汇总:无。

今日未解决问题:无。

今日开发收获:

自我评价:一般。

其他:附笔记

 

数据结构笔记

第一章

数据项是不可分割的最小单位。

数据对象是性质相同的数据元素的集合,是数据的子集。

数据结构是相互之间存在一种或多种特点关系的数据元素的集合。

逻辑结构是指数据对象中数据元素之间的相互关系。

集合结构:集合结构中的元素除同属于一个集合外,它们之间没有任何关系。

 

线性结构:线性结构中数据元素是一对一的关系。

 

树形结构:树状结构中的数据元素存在一种一对多的层次关系。

图形结构:图形结构的数据元素是多对多的关系。

 

注:每一个数据元素看成一个节点,用圆表示

数据元素间的逻辑关系用连线表示,如果有方向用箭头

 

物理结构/存储结构

物理结构是指数据的逻辑结构在计算机中的存储形式。

顺序结构:是把数据存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系一致。

链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的也可以是不连续的。

数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

抽象是指抽出事物具有的普遍性的本质。

抽象数据类型是指一个数学模型及定义在该模型上的一组操作。

抽象的意义在于数据类型的数学抽象特性。

抽象数据类型体现程序设计中问题分解,抽象和信息隐藏的特性。

数据结构是互相之间存在一种或多种特定关系的数据元素的集合。

 

 

第二章

算法具有输入,输出,有穷性,确定性和可行性的基本特性。

  1. 输入输出:
    • 算法具有0个或多个输出。
    • 算法至少具有一个或多个输出
  2. 有穷性:算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每个步骤在可接受的时间内完成
  3. 确定性:算法的每一个步骤都具有确定的含义,不会出现二义性。
  4. 可行性:算法的每一步必须是可行的,也就是说每一步都能通过执行有限的次数完成。

正确性:算法的正确性是指算法应该至少拥有输入输出和加工处理无歧义性,能正确反映问题的需求,能够得到问题的正确答案。

可读性:便于阅读理解和交流。

健壮性:当输入不合法的数据,算法也能做出相关处理,而不是产生异常或者莫名其妙的结果。

时间效率高和存储量低。

算法效率的度量方法

  1. 事后统计方法:通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。
  2. 事前分析估算法:在计算机程序编制前,依据统计方法对算法进行估算。

猜你喜欢

转载自blog.csdn.net/qq_37624987/article/details/81208330