1.数据结构定义:数据结构是一种存储和组织数据的方式,以便于访问和修改。数据结构包括数据的逻辑结构、数据的存储结构以及数据的运算,即按照某种逻辑关系组织起来的一批数据,按一定的映射方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合。
数据的逻辑结构:反映数据元素之间的关系。有集合、线性结构、树型结构、图型结构。
2.数据的存储结构:逻辑结构在计算机中的存储映象,是逻辑结构在计算机中的实现,它包括数据元素的表示和元素之间关系的表示。有顺序存储结构(数组)、链式存储结构(链表)、索引存储结构、散列存储结构等。
3.数据的运算:通过算法描述,来了解整体程序的好坏。
4.关于算法:
(1)特点:输入;0个或者多个输入
输出:一个或多个输出,以反映对输入数据加工后的结果
有穷性:算法必须能在执行有限个步骤之后终止
确切性:算法的每一步骤必须有确切的定义
可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间
(2)要求:正确性:设计的算法能满足具体问题的需求,并且任何合法的输入都会得出正确的输出;
可读性:是指算法被写好之后,该算法理解的难易程度。如果一个算法比较抽象且难以理解,那么这个 算法就不利于交流和推广使用, 对于修改、扩展、维护来说都十分不方便,因此,在追求高效的同时,也应是算法尽量简明易懂。
健壮性:当输入数据非法时,算法也会做出相应的判断,而不会因为输入的错误而造成瘫痪。
时间效率高(时间复杂度)和需要的存储空间少(空间复杂度)
(3)时间空间复杂度:
时间:算法执行次数,记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度
空间:该算法所耗费的存储空间
5:已学的结构:栈,队列,字符串(思维导图均以大致说明)
PTA中的题目写的比较慢,基本的问题都较少,有错误都是通过问已写过的同学来得到解答。通过代码对照和同学讲解来解决。
原文:https://www.cnblogs.com/3344204785asl/p/12589474.html