TiAmo---

导航

算法第一章作业

一.编码规范
核心理念:代码是写给人看的,只是顺带让机器执行。 清晰、一致、可维护性是我们的首要目标。

  1. 命名规范

变量/函数名: 使用有意义的、描述性的名称,采用驼峰命名法。

常量: 全部大写,单词间用下划线分隔。

布尔变量: 使用 is, has, can 等前缀,使其意义明确。

  1. 格式与风格

行宽: 每行代码限制在80-120个字符以内,过长时应合理换行,保持代码的横向可读性。

大括号: 遵循 K&R风格(左大括号不换行),这是Java和C/C++等语言的通用标准。

  1. 注释规范

目的: 解释“为什么”这么做,而不是“做什么”(代码本身应该能说明做什么)。

行内注释: 在复杂逻辑旁用简洁语言说明。

函数/类注释:说明功能、参数、返回值和可能的异常。

  1. 函数与方法

单一职责:一个函数只做一件事,并且做好。

长度控制:函数体尽量短小,理想情况下不超过一个屏幕(约20-50行)。过长的函数意味着需要重构。

参数数量:参数不宜过多

二.数学之美读后感
我阅读了《数学之美》中关于 “第10章 PageRank——Google的民主表决式网页排名技术” ,感触颇深。

  1. 复杂问题背后的简单之美

在了解PageRank之前,我理所当然地认为搜索引擎的排名是一个极其复杂的、黑科技般的算法。但吴军博士揭示,其核心思想竟如此优雅和简单:把互联网看作一张巨大的选票图,一个网页被越多高权重的网页链接,它本身就越重要。

这个模型巧妙地利用了 矩阵运算、特征向量 这些线性代数中的经典概念,将一个看似需要“理解”网页内容的语义理解难题,转化为了一个可计算的数学问题。这让我深刻体会到,软件工程中很多看似“智能”的系统,其基石往往是简洁而坚固的数学模型。我们不需要教会计算机“理解”,只需要教会它“计算”。

  1. 工程与理论的完美结合

书中提到,最初的PageRank理论模型在真实的海量网页数据面前计算量巨大,几乎不可行。而Google的工程师们通过 “稀疏矩阵计算” 等工程优化技巧,将这个美丽的理论模型变成了一个高效、实用的工业级产品。

这给了我一个非常重要的启示:在软件工程中,拥有好的理论模型和具备将其工程化的能力,同等重要。我们不仅要学会设计算法,更要学会如何让算法在有限的资源(计算能力、存储、时间)下高效运行。这种在约束条件下解决问题的思维,正是一名工程师的核心素养。

posted on 2025-10-14 23:03  翱翔天际的猫  阅读(4)  评论(0)    收藏  举报