• 数据结构复盘——第一章:绪论



    第一部分:数据的专业术语

    1、数据

    数据是所有能输入到计算机并能被计算机程序处理的符号总称

    2、数据元素

    数据元素是数据的基本单位

    3、数据项

    数据项是数据元素的最小单位

    4、数据对象

    数据对象是指性质相同的数据元素集合

    5、数据类型

    数据类型是一个值的集合与定义在此值集合上的一些操作的总称
    如:int、float、char等

    6、抽象数据类型(ADT)

    通常用(数据对象、数据关系、基本操作)这样的三元组来表示抽象数据类型

    第一部分习题

    1.计算机内部数据处理的基本单位是(B) 。
    A.数据
    B.数据元素(是数据的基本单位)
    C.数据项(是数据元素的最小单位)
    D.数据库

    2.以下说法正确的是(D) 。
    A.数据项是 数据的基本 单位
    B.数据元素是数据的最小 单位
    C.数据结构是带结构的数据项 (数据元素)的集合
    D.—些表面上很不相同的数据可以有相同的逻辑结构

    3.(D)是具有相同特性数据元素的集合,是数据的子集。
    A.数据符号
    B.数据对象
    C.数据
    D.数据结构


    第二部分:数据结构

    数据结构 = 逻辑结构 + 存储结构 + 运算

    1、逻辑结构:

    指数据元素之间的逻辑关系,逻辑结构分4类基本结构:
    四类逻辑结构

    2、存储结构(又称物理结构)︰

    主要有顺序存储,链式存储,索引存储,散列存储

    3、运算:

    数据的运算是在数据的逻辑结构上定义的操作算法(如:增删改查)

    第二部分习题

    1.数据结构是指(A)。
    A.数据元素的组织形式
    B.数据类型
    C.数据存储结构(是数据数据结构的组成部分)
    D.数据定义(例如int a,明显不是)

    2.在数据结构中,与所使用的计算机无关的是数据的(C)结构。
    A.存储
    B.物理
    C.逻辑(属于人脑内的构思)
    D.物理和存储

    3.如一个结构中的数据元素之间存在一个对多个的关系,则此结构为(C)。
    A.集合结构
    B.线性结构(一对一)
    C.树形结构(一对多)
    D.图状结构(多对多)


    第三部分:算法

    1、算法的五个特性

    算法是对特定问题求解步骤的一种描述。算法的五大特性:
    (1)输入:一个算法有零个或多个输入。
    (2)输出:一个算法有一个或多个输出,它们是与输入有特定关系的量。
    (3)确定性:其每一条指令必须有确切的含义。
    (4)可行性:算法中描述的操作都是可以通过可用的基本运算实现的。
    (5)有穷性:算法指令是有限序列,且算法可以在某段时间内完成。
    记忆口诀:“出入确可穷”

    2、算法的设计五个要求

    评价算法的优劣的基本标准:
    正确性:能够确保对于某种相对程度的随机输入有正确的输出。
    快速性:算法设计合理,执行时间效率高,可以用时间复杂度度量。
    可读性:算法描述清晰易懂,使于修改和移植。
    健壮性:当输入非法数据时,算法能作出适当的反应和处理。
    节省性:算法占用存储容量合理,可以用空间复杂度或者存储密度度量。
    记忆口诀:“正确快读健节”(正确快读见解)

    第三部分习题

    1.计算机算法指的是(C) 。
    A.计算方法
    B.排序方法
    C.解决问题的有限运算序列
    D.调度方法

    2.一个算法应该是(B)
    A.程序(不仅仅包含算法)
    B.问题求解步骤的描述
    C.要求满足五个基本特性(不单单只有算法可以满足这些特性)
    D.A和C

    3.设计一个“好"的算法应考虑(ABCD)-多选题
    A.正确性
    B.可读性
    C.健壮性
    D.效率与低存储量需求(节省性换了一种说法)


    第四部分:算法分析

    1、算法的时间复杂度

    时间复杂度是指算法在计算机内执行时所需运行时间的度量
    记作:T(n)= O(f(n)),其中 n 为问题的规模大小。

    • 常见的时间复杂度:
      时间复杂度大小关系

    2、算法的空间复杂度

    空间复杂度是指算法在计算机内执行时所需存储空间的度量
    记作: S(n)=O(f(n)),其中 n 为问题的规模大小。

    第四部分习题

    1.下面程序段的时间复杂性的量级为(D)。

    for (i=1; i<=n; i++)
    	for (j=1; j<=i; j++)
    		for (k=1; k<=j; k++)
    			X=X+1;
    
    • 1
    • 2
    • 3
    • 4

    A.O( 1 1 1)
    B.O( n n n)
    C.O( n 2 n^2 n2)
    D.O( n 3 n^3 n3)

    2.下面程序段的时间复杂性的量级(C)。

    for (int i=o; i<m; i++)
    	for (int j=o; j<n; j++)
    		a[i][i]=i*j;
    
    • 1
    • 2
    • 3

    A.O ( m 3 m^3 m3)
    B.O ( n 2 n^2 n2)
    C.O ( m ∗ n m*n mn)
    D.O ( m + n m+n m+n)


  • 相关阅读:
    mysql的trace追踪SQL工具,进行sql优化
    尾插建立单链表,C语言输出
    U盘分配单元大小建议设置多少?
    解决idea下tomcat乱码
    智能聊天机器人的优势在哪里?资深独立站卖家告诉你!
    Morgan Stanley面经
    DMP(Dynamic Movement Primitives)动态运动基元算法收敛性证明
    【大数据入门核心技术-Hadoop】Hadoop非高可用集群搭建
    基于显扬科技自主研发3D机器视觉HY-M5在物流行业包裹分拣中的应用
    天锐绿盾数据防泄密系统
  • 原文地址:https://blog.csdn.net/qq_50571974/article/details/126349249