数据结构—算法概念与设计、学生成绩管理系统【习题篇】(一)

简介: 数据结构—算法概念与设计、学生成绩管理系统【习题篇】

一、习题篇


       (一) 概念题


                1. 试述数据结构研究的3个方面的内容。


                         解析:数据结构研究的3个方面分布是:


                               数据的逻辑结构


                               数据的存储结构


                               数据的运算(操作)

2. 试述集合、线性结构、树形结构和图形结构4种常见的数据结构的特性。


                       集合结构


                               集合中数据元素之间除了“同属于一个集合”的特性外,数据元素之间无其他关系,它们之间的关系称为是松散性的


                       线性结构


                               线性结构中数据元素之间存在“一对一”的关系。


                               若结构非空,则它有且仅有一个开始结点和终端结点,开始结点没有前驱但有一个后继。终端结点没有后继但有一个前驱。其余结点有其仅有一个前驱和后继。


                       树形结构


                               树形结构中数据元素之间存在“一对多”的关系。


                               若结构非空,则它有一个称为根的结点,此结点无前驱结点,其余结点有且仅有一个前驱,所有结点都可能有多个后继。


                       图形结构


                        图形结构中数据元素之间存在“多对多”的关系。


             若结构非空,则在这种数据结构中任何结点都可能有多个前驱和后继。


3. 设有数据的逻辑结构的二元组定义形式为B=(D,R), 其中D = {a1,a2,a3,......an} ,  R={< ai,a i+1 > | i = 1,2,3.......n -1},请画出此逻辑结构对应的顺序存储结构和链式存储结构的示意图。

顺序存储结构示意图:

4b9138d574944b508d06372d1d480a12.png

链式结构示意图:


e3e96e99b925413c87cc1dbf6d3c77ee.png


              4. 设一个数据结构的逻辑结构如下图,请写成它的二元组定义形式。


ea78c18160c64e0e964f7f73687f0428.png


                       解析:由于二元组的定义形式为B= (D,R) ; 如图可知:


                               D = {k1,k2,k3,k4,k5,k6,k7,k8,k9} ;


                               则R = {ROW,COL} 【{行,列}】。故:R = { , , , , , , , , , , }


                 5. 试确定下列程序段中有标记符号 ‘ # ’ 的语句行的语句频度(其中n为正整数)


(1)  语句频度:n-1

i = 1 ; k = 0 ;
while ( i <= n -1 ) {
    k += 10*i ;             // #
    i++ ;
}

(2)  语句频度:当n <= 1 时频度为 1 , 当n > 1 时语句频度 为 n-1

i = 1 ; k = 0 ;
do {
    k += 10 * i ;        //#
    i++ ;
}while (i <= n-1 );

(3)  语句频度:n-1

i = 1 ; k = 0 ;
while ( i <= n -1 ) {
    i++ ;
     k += 10*i ;             // #
}

(4)  语句频度:n(n+1)/2

k = 0 ;
for(int i = 1 ; i <= n ; i++ ) {
    for( int j = 1; j <= i ; j++ ) {
        k++ ;         // #
    }
}

(5)  语句频度:n

i = 1 ; j = 0 ;
while (i + j <= n) {
    if(i > j ) {
        j ++ ;      //#
    }else {
        i ++ ;
    }
}

(6)  语句频度:根号n 取整

x = n ; y = 0 ;        //n 是不小于1 的整数
while (x >= (y+1) * (y+1) ) {
    y ++ ;            //#
}

(7)   语句频度:1100

x = 91 ; y = 100 ;
while( y > 0 ) {
    if(x > 100 ) {
        x -= 10 ; 
        y -- ;        //#
    }else {
        x++ ;
    }
}

(8)  语句频度:log3 n 【3 为下标】

a = 1 ; m = 1 ;
while(a < n) {
    m += a ;
    a *= 3 ;         //# 
}
相关文章
|
1月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
69 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
1月前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
51 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
4天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
21 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
20 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
10天前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
27 3
|
17天前
|
算法 安全 NoSQL
2024重生之回溯数据结构与算法系列学习之顺序表习题精讲【无论是王道考研人还真爱粉都能包会的;不然别给我家鸽鸽丢脸好嘛?】
顺序表的定义和基本操作之插入;删除;按值查找;按位查找习题精讲等具体详解步骤以及举例说明
|
29天前
|
存储 算法 Java
Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性
Java Set因其“无重复”特性在集合框架中独树一帜。本文解析了Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性,并提供了最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的hashCode()与equals()方法。
32 4
|
29天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
1月前
|
机器学习/深度学习 搜索推荐 算法
探索数据结构:初入算法之经典排序算法
探索数据结构:初入算法之经典排序算法
|
1月前
|
算法 Java 索引
数据结构与算法学习十五:常用查找算法介绍,线性排序、二分查找(折半查找)算法、差值查找算法、斐波那契(黄金分割法)查找算法
四种常用的查找算法:顺序查找、二分查找(折半查找)、插值查找和斐波那契查找,并提供了Java语言的实现代码和测试结果。
18 0

热门文章

最新文章