《算法设计与分析》第一章学习记录

news/2025/10/8 22:03:41/文章来源:https://www.cnblogs.com/dengzihong/p/19130186

一、互联网大公司的编码规范
核心目标是协同、质量、效率与安全。
1.命名规范
变量、函数、类名必须能清晰地表达其意图,避免使用 a, b, c, tmp 等无意义名称。严格遵守 camelCase、PascalCase、snake_case 等约定,并在整个项目中保持一致。
2.注释规范
所有公开的函数、类、模块都必须有详细的注释,说明其功能、参数、返回值和可能的异常。注释应解释代码的意图和原因,而不是描述代码本身在做什么。

二、大学生的入门编码规范
对于初学者,目标不是一下子掌握所有公司级的复杂规范,而是建立一个坚实、正确的基础,核心目标是养成良好习惯、写出可读可运行的代码。重点是理解“为什么”要这么做,为未来进入工业界打下基础。
1.代码风格与可读性

(1)有意义的命名:
变量名用名词(如 userName, studentList)。
坚决不用拼音缩写、a1, a2 等无意义的名字。

(2)一致的缩进和空格:
选择一种缩进风格,并在整个文件中保持一致。通常使用 4个空格 或 2个空格。
操作符两边加空格,如 int sum = a + b;。

(3)适当的空行:
用空行将逻辑相关的代码段分组,增加可读性。

2. 基础代码结构

(1)函数要短小且功能单一:
一个函数最好只完成一个明确的任务。如果函数太长(比如超过50行),就想办法拆分成几个小函数。

(2)避免魔法数字:
不要在代码中直接写 3.14159, 60 这样的数字。应该定义成有名字的常量,如 final double PI = 3.14159。

(3)基本的注释:
在文件开头注释说明程序是做什么的。
在复杂的算法或逻辑块前写上注释,解释你的思路。

阅读《数学之美》第八章“简单之美 — 布尔代数和搜索引擎的索引”的感想和体会
将复杂的自然语言查询(如“我想了解人工智能的应用但不包括机器人”),转换成一个严格的布尔运算表达式(人工智能 AND 应用 NOT 机器人),这是一个决定性的飞跃。它把一个语义模糊的问题,变成了一个可以由计算机精确、高速执行的数学问题。这种将现实问题映射到数学模型的能力,是工程学的精髓,也是我今后学习算法设计这门课程的重点内容,更是我未来的工作所需要用到的核心能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mcp_server

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" https://github.com/runekaagaard/mcp-alchemy"imes": { "command": "uvx", &qu…

香山红叶建设有限公司网站虚拟主机安装wordpress

一、代理模式 代理模式定义:为其他对象提供一种代理以控制对这个对象的访问。 上面类图中有一个订单接口类(OrderService)、一个订单实现类(OrderServiceImpl),订单模块的业务相对复杂和重要,如果这时候要在方法执行前后加上日志&#xff0c…

2025.10 国庆集训模拟赛总结

把门视为点,找环,答案就是环的长度先预处理前缀和 然后预处理f[i]表示满足j<i且aj==ai的最大的j。 答案就变成了:第一问用树套树类结构维护 第二问直接二分第一问就行,因为第一问我们在先做了。 树套树太难写,…

详细介绍:https和http有什么区别-http各个版本有什么区别

详细介绍:https和http有什么区别-http各个版本有什么区别pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

CF2150F Cycle Closing

感觉上判是否能一次完成是困难的。设两次的路径长度分别为 \(a, b\),考虑一些特殊情况。 题目一定有解,考虑取出一棵生成树。可以发现,第二次操作时的边数实际上很多,感觉上对于 \(b\) 不能限制得太小。考虑 \(a\)…

Easysearch 字段隐身之谜:source_reuse 与 ignore_above 的陷阱解析

背景问题 前阵子,社区有小伙伴在使用 Easysearch 的数据压缩功能时发现,在开启 source_reuse 和 ZSTD 后,一个字段的内容看不到了。 索引的设置如下: {......"settings": {"index": {"co…

QOJ856 Cactus 广义串并联图

题意 给定一棵仙人掌, 你需要用 \(k\) 种颜色给每个结点染色, 且保证有边相连的结点的颜色不相同, 求染色的方案数对 \(10^9+7\) 取模的结果。仙人掌定义为一张特殊的无向图, 其中每条边至多在一个简单环上。 题解 因为…

CF2152 订题

context A 除了最小的数字每种数字都会占用一次,去重后直接输出 \(2n-1\) 即可。 B 太神秘了,先咕咕咕。 C 发现如果一个区间内存在至少一个长度 \(\ge 2\) 的同色连续段,那么这个连续段可以通过删除两个同色之间的…

TortoiseSVN账号切换 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

房产中介 网站开发天津招投标天津建设工程信息网

电脑 远程桌面连接你的凭据不工作解决方法 方法/步骤 第一步我们首先需要知道远程桌面连接你的凭据不工作原因是&#xff0c;远程的电脑拒绝了访问&#xff0c;需要设置在远程的电脑上设置安全选项&#xff0c;按winR键&#xff0c;打开运行&#xff0c;输入“gpedit.msc”&a…

GJ Round 2025赛季

Round 1 (9.1) A给定正整数序列 \(a_1,a_2,\cdots,a_n\),对于 \(\forall k \in [0,n] \cap \mathbb Z\),完成以下问题: 令 \(S \subseteq A = \{1,2,\cdots,n\}\),当且仅当存在一个集合 \(T \subseteq S\),满足 \…

resolvers: [ElementPlusResolver()] 有什么用? - 详解

resolvers: [ElementPlusResolver()] 有什么用? - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

ASP.NET Core 中读取 UserAgent 的正确姿势

今天读了 Andrew Lock 的2篇博文学到的招式,记录一下。 两篇博文的链接:Using default interface methods for performance gains in IHeaderDictionary A brief look at StringValues之前的读取 UserAgent 的代码:…

Git学习记录(二):代码patch

Git中的一笔commit提交,可以成为patch生成Patch带有commit信息: git format-patch -1 HEAD only代码应用Patchcheck是否有冲突 git apply --check 0001-xxx.patch 应用Patchgit apply 0001-xxxx.patch git am 0001-xx…

网站开发有关费用网站建设服务费一年多少钱

Ubuntu从起后居然把Windows的设置给记住了。显示ok。我晕。以前倒是也有过这问题&#xff0c;在双系统情况下&#xff0c;外接键盘的灯会继承Windows的早就有心弄个显示器&#xff0c;把笔记本的外接上&#xff0c;倒不是说非要2个屏幕来工作如何如何&#xff1f;只是因为我的本…

2025年10月化妆品代工厂最新推荐排行榜:聚焦 OEM/ODM/ 网红爆款需求,精选优质企业助品牌高效合作

2025 年化妆品 ODM 行业规模预计突破 1128 亿元,功效型护肤等细分领域增速迅猛,但行业内企业资质悬殊问题突出。部分代工企业缺乏核心研发能力,配方同质化严重难以适配 “成分党” 需求;部分生产标准落后,未达十万…

西安地产网站制作公司四川网站建设公司 登录

## 路由与伪静态### 路由>[info] 字面上解释&#xff0c;路是线路&#xff0c;道路&#xff1b;由&#xff0c;缘由&#xff0c;指意&#xff0c;表示规则&#xff1b;所以意思就是按照什么规则&#xff0c;或者意义&#xff0c;被指派到什么地方去。所以路由是指线路分发&a…

Exchange安全漏洞分析:ProxyOracle攻击链详解

本文深入分析Microsoft Exchange中的ProxyOracle攻击链,包含CVE-2021-31195 XSS漏洞和CVE-2021-31196填充Oracle攻击,攻击者可通过恶意链接获取用户明文密码,涉及FBA认证机制和加密cookie解析过程。Orange:MS Exch…

北京建站公司哪家好都选万维科技电脑维护网站模板

题目链接 2865. 美丽塔 I - 力扣&#xff08;LeetCode&#xff09; 解题思路 根据题意可以知道&#xff0c;假设数组的长度为n,对于山状数组heights定义如下&#xff1a; 假设heights[i]为数组中的最大值&#xff0c;则i左边的值均小于等于heights[i]&#xff0c;i右边的值…

将word档案转为kindle可识别的azw3材料的方法

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …