数据结构与算法——慕课作业——第一章 概论 + 第二章 线性表
重点题:
第一章:小测-2、4、7
第二章:小测-3 & 编程-2、3
第一章 概论
part 1: 小测验
答案:
1.C你选对了
解析: 注意i从1到9全部遍历,j分别从2,4,6,...开始遍历到9,当i大于5时,循环不再对m进行操作.
i=1结束循环时,m=8;
i=2结束循环时,m=8+6=14;
i=3结束循环时,m=14+4=18;
i=4结束循环时,m=18+2=20;
解析: 计算复杂度时,系数是可以忽略的。(5)和(1)是指数级复杂度,大于(2)(3)(4)多项式级复杂度,区别在于指数中是否有n。而(5)的指数里还有指数级复杂度的表达式,(1)的指数是n,为多项式级,故(5)比(1)复杂。对于(2)(3)(4),(2)的指数最大,为2.5,(4)的指数居中,为2,(3)的指数最小,解释如下:logn的任意实数次方的复杂度都小于n,故(logn)^4比n复杂度低,故n*(logn)^4比n*n复杂度低,故(4)比(3)复杂,故答案为(5)(1)(2)(4)(3)
part 2: 编程题
(太简单了,略)
第二章 线性表
part 1: 小测验
答案
1.B、C、D你选对了
解析: 已知结点后插入,不需要移动其他结点位置,所以为O(1) 2. 先要查找到值为x的结点,需要O(n),再插入,不需要移动其他结点位置,需要O(1),总共需要O(n)+O(1)=O(n)
解析: 循环链表尾结点的next会指向头结点
part 2: 编程题
1.字符串插入
#include <iostream> #include <cstring> using namespace std; int main(){char str[200010], substr[100010];int p=0, max_ascii=0, l1, l2;cin >> str >> substr;l1 = (int)strlen(str);l2 = (int)strlen(substr);for(int i=0; i<l1; ++i)if(str[i] > max_ascii){max_ascii = str[i];p = i;}for(int i=l1; i>p; --i)str[i+l2] = str[i];for(int i=p+1, j=0; j<l2; ++i, ++j)str[i] = substr[j];cout << str << endl;return 0; }
View Code
2.大整数乘法
#include <iostream> #include <cstring> using namespace std; int main(){int a[250]={0}, b[250]={0}, c[500]={0}, la,lb;string na, nb;//输入并倒序储存a和bcin >> na >> nb;la = (int)na.length();lb = (int)nb.length();for(int i=0; i<la; ++i)a[i] = na[la-i-1] - '0';for(int i=0; i<lb; ++i)b[i] = nb[lb-i-1] -'0';for(int i=0; i<la; ++i)//a的从低到高第i位for(int j=0; j<lb; ++j)//b的从低到高第j位c[i+j] += a[i] * b[j];for(int i=0; i<la+lb; ++i){//进位c[i+1] += c[i] / 10;c[i] %= 10;}int rest = c[la+lb]/10, lc = la+lb;while(rest){//进位c[lc] %= 10;c[++lc] = rest;rest = c[lc]/10;}for(; c[lc]==0 && lc; --lc);//找到最高的非零位for(int i=lc; i>=0; --i)cout << c[i];return 0; }
View Code
3.约瑟夫问题
#include <iostream> #include <cstring> using namespace std; int main(){bool monkey[300]={0};int n, m, cnt=0, cur=1, rest;cin >> n >> m;rest = n;for(int i=1; i<=n; ++i)monkey[i] = 1;while(rest > 1){++cnt;//当前猴子报数if(cnt == m){//出圈,重新开始一轮报数--rest;monkey[cur] = 0;cnt = 0;//cout << cur << endl; }++cur;//找到下一只报数的猴子while(monkey[cur] == 0){++cur;if(cur > n)cur = 1;}}cout << cur << endl;return 0; }
View Code
转载于:https://www.cnblogs.com/tanshiyin-20001111/p/11541893.html
数据结构与算法——慕课作业——第一章 概论 + 第二章 线性表相关推荐
- python数据结构题目_《数据结构与算法Python语言描述》习题第二章第三题(python版)...
ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本 ...
- 数据结构与算法python语言描述答案_《数据结构与算法Python语言描述》习题第二章第一题(python版)...
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 """ 5 定义一个表示时间的类Time6 a)Time(hour ...
- 《数据结构与算法Python语言描述》习题第二章第二题(python版)
ADT Date: #定义日期对象的抽象数据类型 Date(self, int year, int month, int day) #构造表示year/month/day的对象 difference( ...
- 数据结构python语言描述课后答案_《数据结构与算法Python语言描述》习题第二章第三题(python版)...
1 #!/usr/bib/env python 2 #-*- coding:utf-8 -*- 3 4 """ 5 ADT Rational: #定义有理数的抽象数据类型 ...
- 尚硅谷Java数据结构和java算法,韩顺平数据结构和算法课后作业01
尚硅谷Java数据结构和java算法,韩顺平数据结构和算法课后作业第一题 要求: 1)在前面的基础上,将稀疏数组保存到磁盘上,比如map.data 2) 恢复原来的数组时,读取map.data进行恢复 ...
- 数据库系统概论第二章总结
数据库系统概论第二章总结 文章目录 数据库系统概论第二章总结 第二章 关系数据库 2.1 关系数据结构及形式化定义 2.1.1 关系 2.2 关系操作 2.2.1 基本的关系操作 2.2.2 关系数据 ...
- 【连载】大学物理笔记——第一章末+第二章质点动力学
我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...
- 【史纲】绪论、第一章、第二章部分 (戊戊维新之前)
绪论.第一章.第二章部分 (戊戊维新之前) 考点1 :鸦片战争:中国近代史的起点 1.鸦片战争成为中国近代史的起点的原因 :①随着外国资本主义的入侵 ,中国的社会性质开始发生 质的变化 ,中国逐 ...
- 叉积 微分 恒等式_考研真题分章解析 | 第二章 导数与微分
高数思维 导读:本系列专辑为考研真题分章解析,主要包括:函数.极限与连续.一元函数微分学.一元函数积分学.多元函数微分学.多元函数积分学.空间解析几何.级数.微分方程等内容,共计12章,整理了近32年 ...
最新文章
- 云边协同 — 协同的类型
- 蚂蚁金服 Service Mesh 实践探索
- 用户中心 - 修改用户信息
- # 遍历删除字典元素_第六章 字典
- 详解云计算、大数据和人工智能的区别与联系
- Hadoop生态圈-Ambari控制台功能简介
- 【开发环境专题一】Maven环境搭建
- php 错误提示模板,php 关闭错误提示方法总结与性能分析
- 2017河北对口升学计算机试题,2017河北对口升学计算机专业理论试题(含答案).doc...
- GML C++ Camera Calibration Toolbox 相机标定畸变矫正
- mysqldb 安装包 linux,Linux下Python MySQLdb模块安装过程及错误解决
- 你有用过Type-C接口的手电筒吗?
- python的tkinter插入图片_Python3 Tkinter基础 Text Photoimage 文本框中插入一张图片
- slambook2 ch3 Ubuntu18.04下运行和调试
- 基于QT实现的图元拖曳、定点滚轮旋转和缩放
- Mybatis方法入参处理
- laravel sail
- 杰理ac18芯片_AC6905B/AC6905C杰理JL24脚四合一蓝牙芯片
- 盛世昊通国际控股成功登陆美国纳斯达克,迈入国际舞台
- 68 文本左右对齐
热门文章
- MMCM时钟动态调相
- App Extension
- 程序员如何提高编程时打字速度的5个Tips
- java实时获取android网速_Android中获取实时网速(2)
- 21天学习之二(Android 10.0 SystemUI默认去掉底部导航栏的三种方法)
- python处理doc格式文档
- 使用 mongorestore恢复数据以及使用 Studio 3T GUI 管理数据库
- [附源码]PHP计算机毕业设计小区水电管理系统(程序+LW)
- ubuntu下 vim工具的安装与使用教程(一)
- JavaScript在表格中实现九九乘法表