算法分析--第一章

《Python数据结构与算法分析》第一章课后习题 这里写自定义目录标题Introduction练习题Python易错总结: Introduction 最近开始学数据结构,打算用python作为语言,看的书是米勒和戴维的《Python数据结构与算法分析》。目前大三,希望能一个月速成,奥利给!!注意到课本中的练习题没有参考答案,我自己写了一份放到这上面,更详细的代码在我的github:https://github.com/Yunzz-goon/PythonForDataStructure 欢迎大家一起交流!!! 第一章还没开始讲算法,先介绍了一下python基 阅读详情

1-1

在这里插入图片描述
增长速度的定义
在这里插入图片描述
#1-3 ???
在这里插入图片描述

2-2???

在这里插入图片描述
不是等于,理解为等于了
O是渐近上界

2-3 !!!

在这里插入图片描述
∑ i = 0 N ( N 2 − i ) \sum_{i=0}^{N} (N^2-i) ∑i=0N​(N2−i)
注意 N 2 N^2 N2不是就直接可以提出来的 - -||
∑ i = 0 n c = n c \sum_{i=0}^nc=nc ∑i=0n​c=nc

2-4

在这里插入图片描述
错误写法:i=i++ i取值不变

3-1

在这里插入图片描述
没有理解好O和o区别

渐近上界 不是上确界……不一定是紧确的
o也不是表示上确界的…… 是非渐近紧确的,是极限出来相对于f(n)无穷大的。【见书】

在这里插入图片描述
虽可以近似,列式子得出BE答案
但是D答案,是算法大的吞小的,n无穷大的时候,也算是实质。

正解:
左边的公式能够推导出什么,右边不一定能推导过来
BDEF
c2g(n)<= f1+f2 <=c1f(n)+c2g(n)
B对 E对
D对: c1f(n)+c2g(n) 取最大的那个 如g(n)>f(n)
c1f(n)+c2g(n) <= c1g(n)+c2g(n) = (c1+c2)g(n)
或 c[f(n)+g(n)]<=c2max{f(n),g(n)}
F对:c2g(n) 取小的那个
c2g(n)>=c2*min{f(n),g(n)}

7-1 代码未测试?题目理解有问题?

在这里插入图片描述
没有测试过:不过应该是对的吧

#include <cstdio>
using namespace std;

//int mat[30001]={{0}};
int pre[30001]={-1};//not having organizations
//error: can't initial all

//使用并查集:分为了两类,一类根全是0(包括0自己) 其余的根全是-1(没社团,根不是0)
//常规也行吧 不用刻意区分0,直接分成联通的几堆,到时候读取0的根,找所有根0的根一样的就行了
int find(int i){ //tow kinds one is root(0), one is root(other), all comes to -1.
    if (pre[i]==-1) return -1;
    else if(pre[i]==0) return 0;
    else return pre[i] = pre[pre[i]];
}

int main(){
    int n,m,k;
    scanf("%d %d",&n,&m);
    for (int i=1;i<n;i++)  //error n--m
        pre[i]=-1;    //must
    pre[0]=0;
    for(int i=0;i<m;i++){
        scanf("%d",&k);

        int root;
        int a;
        scanf("%d",&a);
        if(a!=0) pre[a] = -1;//first one
        root =a;
        //printf("fisrt %d root:%d\n",root,pre[root]);

        for (int j=0;j<k-1;j++){
            scanf("%d",&a);

            int father = find(a);
            //printf("%d father:%d\n",a,father);
            if (father == -1) pre[a] = root;
            else if (father == 0) {pre[a]=pre[root]=0;}
            //printf("root: %d\n",root);
            //printf("%d root:%d\n",a,pre[a]);
        }
    }

    int ans=0;
    for (int i=0;i<n;i++){  //error n--m
        int father = find(i);
        //printf("%d father:%d",i,father);
        if (father==0){
            ans++;
            //printf("%d",i);
        }
    }
    printf("%d",ans);

    return 0;
}

7-2???

在这里插入图片描述

这道题可以用那个 两个指针指的做,有一个很简便的写法,把flag设出来,两个for循环就可以解决,在晴神宝典上,但是翻不到了??【在算法书上?】

数据结构与算法分析-C语言描述学习笔记-至第一章 2021/11/15 缘起 今日起,学习数据结构与算法分析-C语言描述一书,此书作者为马克·艾伦·维斯(Mark Allen Weiss),由于个人水平有限,只能以类似于句读的方式对书中内容进行分析。之前,在下从未进行过有关类似数据结构与算法的系统学习。若在学习过程中,吾未能坚持,中途放弃,则希望后学引以为戒。切莫夸下海口,可尽早改行以免耽误终身。至于我,则会在试错和试探自己毅力的道路上继续前行,为各位预备改行的同僚打上一剂强心针。在此,以我面前的台灯和水杯作为见证。 ------------------- 阅读详情

相关推荐

大学生电赛学习之路

可以看到全国大学生电子设计大赛的认可度是非常高的,属于A类学科竞赛。电子设计大赛的形式也是给出题目,参赛者有四天三夜的时间解决问题,题目大致可以分为:控制类、测量类、高频类以及电力电子类。该竞赛会在单数年的9月份举行。但是对于新生来说电赛确实遥不可及的,可能在很多学校本科生是不能进入实验室的,但是就算进了实验室你就有资格去参加电赛或者说能拿一个不错的奖项吗? 现在正值新生开学季,当然会有一大批学生会进入实验室的学习,电赛的举办时间是每年的暑假,所以说对于大一同学来说有一年的时间去准备,那我们就来说一说参加.

weixin_46098612的博客 8788

算法分析与设计(第一章 算法基础)

掌握衡量算法效率的时间复杂度和空间复杂度概念, 以及算法的最好、平均和最坏情况时间复杂度,渐进表示法。 1、算法是指解决问题的一种方法或一个过程。 算法是对特定问题求解步骤的一种描述,是指令的有限序列 2、算法的5个特征: 输入:0个或多个输入。 输出:至少产生一个输出。 确定性:每一条指令都有确切的定义,无二义性。 有穷性:必须执行有限步之后终止。 可行性:算法的每一条指令都必须足够基本。 正确任、鲁裤性简明性、 3、一个好的算法应具有的特性:正确性、鲁棒性、简明性、高效性。 可行4

weixin_47280837的博客 530

LaTeX参考文献格式apsrev4-1,增加文献标题

APS的LaTeX参考文献格式apsrev4-1是隐藏标题的,如果想要出现标题,需要更改apsrev4-1.bst文件内容 在apsrev4-1.bst文件靠后部分,定义不同类型文献格式的地方,将article类型的内容替换为, FUNCTION {article} { output.bibitem format.authors booktitle empty$ { "author" output.check }{ output } if$ author format.

loading1234567的博客 5031

《算法分析与设计》 第一章 算法设计基础 基本知识点

        今天一天没有课,自己复习的感觉很好,虽然遇到了一些事情不是很开心,但还是整理一下今天学习的内容。因为笔记本被我“伤害了”,所以回归了纸质版模式。  ...

学习笔记 2042

多机器人协同:水下机器人集群的分布式控制与ROS仿真实践

本文探讨了多自主水下机器人(AUV)集群的分布式控制方法,重点分析了欠驱动6自由度AUV模型的反馈线性化技术。通过ROS/Gazebo仿真平台,详细介绍了系统架构设计、通信延迟补偿策略及环境扰动应对方案,为水下协同作业提供实用参考。

jupi8的博客 687

加法器设计—— 原理图与VHDL设计初步

1、在DE2-115开发板上,完成4位全加器系统的设计、下载和功能演示,并在FPGA上实现1位全加器;2、完成3-8译码器的设计、下载和功能演示(利用板上的8段数码管)本次实验在组合逻辑电路的基础上,运用Verilog编程实现了四位全加器和3-8译码器的设计,同时实现了在DE2-115开发板上的下载和功能演示。整个过程加深了我对电路设计和Verilog编程的理解,同时也锻炼了解决问题的能力。

m0_74749526的博客 1237

算法分析第一章:分析基础

前提     在阅读本章节之前,你应该能够      阅读和生成算法      阅读和生成递归算法      识别比较和算术运算      使用基本代数 目标      本章节结束时你应该能够      描述如何分析一个算法      解释如何选择有价值的运算和解释为什么不是其它运算      解释如何去进行一个最优情况分析、最坏情况分析的和平均情况分析     用对数,概率...

里脊的博客 333

深入浅出SCSI子系统(一)Linux 内核中的 SCSI 架构

scsi系统

sinat_37817094的博客 6488

数据结构与算法分析第一章

第一章引论: 写出一个可以工作的程序远远不够,还要考虑在巨大的输入集上运行 一些数学知识复习 证明数据结构分析中最常见的两大方法:归纳法和反证法 递归简论(基准情况,不断推进,设计法则,合成效益法则) 练习1.1:书中给出了两种选择问题的解法,第一种很容易,这里给出第二种 int select(vector<int>& vec, int k) { if (k > v...

lancelot0902的博客 382

Python 爬虫进阶:爬取 APP 数据(Charles 抓包 + Requests)

本文详细介绍了APP数据爬取的完整技术方案。首先通过Charles抓包工具配置HTTPS代理和证书,解析APP通信协议;然后分析请求参数、反爬机制和动态签名生成规则;接着使用Python的Requests库实现模拟请求、分页爬取和数据存储;最后针对证书问题、Token失效等常见问题提供解决方案。文章强调抓包分析、参数逆向和请求模拟三大核心技术,同时提醒开发者需遵守法律法规,合理控制爬取频率。该方案适用于移动端数据采集场景,为无法直接获取网页数据的情况提供了有效解决方案。

2503_91057718的博客 2120

【控制模块算法】控制理论的进修之路

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、(经典)自动控制理论【本科阶段】二、现代控制理论【本科阶段】三、最优控制理论【硕士阶段】总结 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对对控制理论的理解做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、(经典)自动控制理论【本科阶段】 一般控制工程、自动化相关的考研专业课就是自动

qq_35635374的博客 1448

算法分析与设计第一章 思维导图

weixin_45984840的博客 401

手把手教你ensp仿真搭建校园网(含防火墙及无线网络)系列(二)校园网接入层交换机配置

本系列博客将带你从零开始,使用 华为 eNSP(Enterprise Network Simulation Platform) 仿真搭建一个完整的校园网络,涵盖 核心层、汇聚层、接入层、防火墙安全策略、无线AC+AP组网 等实战场景。无论你是网络初学者还是希望深化实战经验的工程师,都能通过本教程掌握企业级网络的规划、配置与排错技巧。

echo的博客 1219

《数据结构与算法分析》读书笔记:第一章 引 论

例如,给定一个2×10的矩形和一个5×5的矩形,哪个是更大的矩形呢?作为第二个例子,在一个字符串的数组中如果想要找出最大的串(即字典序排在最后的串),默认的compareTo不忽略字符的大小写,则“ZEBRA”按字典序排在“alligator”之前,这可能不是我们想要的。因为词典是有限的,所以实际上或者我们最终要查到一处,明白了此处解释中所有的单词(从而理解这里的解释,并按照查找的路径回查其余的解释)或者我们发现这些解释形成一个循环,无法理解其最终含义,或者在解释中需要我们理解的某个单词不在这本词典里。

Mr_Kian的博客 1283

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

数据结构与算法分析c语言描述第二版第一章引论课后题答案

课后题1.51.61.71.81.91.10 1.7,1.8,1.9我也没看懂 1.5 ab在一起,b在左边 1.6 1.7 1.8 1.9 1.10 a b 用的就是前面的例程 的方法。

脱去三千烦恼丝 656

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

第一章——算法分析

算法分析 第一章节算法的概念和特性,我们了解到算法除了普通程序需要满足的基本性质另外想要满足的性质有:正确性,高效率和低储存量需求,健壮性,可读性和可使用性。其中健壮性,可读性和可使用性可以通过我们不断地完善我们的代码和注释来进行提升。 算法分析准确来说分析的是算法的正确性,效率和储存量需求。算法的正确性可以通过数学方法证明和数据集验证的方法去处理。 我们这里的算法分析是分析算法占用计算机资源的情况,计算机资源主要包括时间和内存空间,所以算法分析的两个主要方面是分析算法的运行时间和占用内存情况。 运行时间和

weixin_55835175的博客 1594

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数据结构与算法分析-第一章-引论

文章目录数据结构与算法分析-第一章-引论1.2 数学知识复习1.3 递归简论第一章习题1.1选择问题(k=N/2)1.2字谜游戏问题1.3输出任意实数1.4输出文件1.6级数求和问题结尾 数据结构与算法分析-第一章-引论 本文是数据结构与算法分析(c语言描述)原书第二版的读书笔记,选择此书的原因旨在学习算法的同时巩固自己的数据结构知识(大一下学的有些东西遗忘了) 算法实现永远的原则: 正确性>时间复杂度>空间复杂度(极少数情况下,三者可互换,比如NP完全问题这类特殊情况等,可以牺牲正确性,以近

m0_52235570的博客 1479

数据结构与算法分析第一章习题学习记录一(c语言)

粗浅的记录下算法学习过程,第一次系统的学习数据结构算法,很多思路都还没有养成

lilithhhhhhh的博客 1192

《数据结构与算法分析 c++描述》 读书笔记 第一章

1.递归四法则:(1)基准情形:必须总有某些基准情形不用递归就能求解。(2)不断推进:对于那些需要递归求解的情形,递归调用必须总能朝着基准情形的方向推进。(3)设计法则:假设所有的递归调用都能运行。(4)合成效益法则:在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性的工作。2.C++类经常将接口与其实现分离,接口列出了类及其成员(数据和函数),而实现提供了函数的具体实现,如下:类的接口通常放在以.h结尾的文件中,需要接口信息的源代码必须#include接口文件:#ifndef IntCell_H#

2103

《算法分析》慕课李恒武,第一章测验

自己答是真的难受,我把题答了三遍总结出了这些题,希望对大家有帮助,新加了目录,更具可读性,便于查找

因上努力,果上随缘的博客 2927

数据结构与算法分析——第一章 绪论

第一章 绪论 导图

wangdinge的博客 387

python数据结构与算法分析-第一章

文章目录推荐两本口碑爆棚的Python算法&数据结构书。第一章:导论1.3 计算机科学1.3.1编程1.3.2为何学习数据结构及抽象数据类型1.3.3 为何学习算法1.4 python基础1.4.1 数据1.4.2 输入与输出1.4.3 控制结构1.4.4 异常处理1.4.5定义函数1.4.6python面向对象编程:定义类 推荐两本口碑爆棚的Python算法&数据结构书。 1. 算法图解 2.Problem Solving with Algorithms and Data Stru

nahedan的博客 788

【算法】算法分析技术(第一章习题解答)

对该递推方程构建递归树求解,可得第x个递归层复杂度总和为。,命题1和命题2的等式左右两边化简后均为。

Mitchell_Donovan的博客 1448

数据结构与算法分析(第一章 引论)

第一章 引论一、引入二、数学知识复习三、递归简论 本章介绍本书的目的和目标并简要复习离散数学以及程序设计的一些概念。 一、引入 本书讨论数据结构和算法分析。 数据结构主要研究组织大量数据的方法;算法分析则是对算法运行时间的评估。 随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切。 二、数学知识复习 本书通常提供实现方法的部分代码,鼓励大家补足其余的部分。 三、递归简论 第1章包含离散数学和递归的一些复习资料。 第2章处理算法分析。 第3章包括表、栈和队列。 第4章讨论树,重点

我与黑夜 622

【课程笔记】算法分析笔记-第一章

Hello!自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研。学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!唯有努力💪知其然 知其所以然!本文仅记录自己感兴趣的内容文章仅作为个人学习笔记记录,记录从0到1的一个过程希望对您有一点点帮助,如有错误欢迎小伙伴指正。

海到无边天作岸 山登绝顶我为峰 1272

算法分析与设计基础 学习笔记 第一章

第一章用了几个不同 求 最大公约数的例子 来引入算法分析与设计的概念 //欧几里得算法求最大公约数 //Input: m,n 非负不全为0的非负整数 //Output: m,n 的最大公约数 int gcdEuclid(int m, int n) { int r = 0; while( 0 != n) { r = m%n; m = n; n = r; } retu

外天楼 715
上一篇: MIPS学习笔记——持续更新
下一篇: 算法分析第二次
ZanLanguage
博客等级 码龄7年 2粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值