第一章作业

(1)数学之美
1.《数学之美》第27章对“期望最大化算法”(EM)的诠释精妙至极,将其誉为“上帝的算法”堪称神来之笔。吴军博士剥开复杂的数学外壳,揭示了EM算法充满哲学美感的核心理念:面对不完美的、隐藏关键信息的数据世界,我们无需绝望,可以通过迭代与估计,无限逼近真理。

2.这种“先猜想,后验证,逐步优化”的思维范式深深震撼了我。它承认人类的认知局限(无法直接观测所有变量),却又不屈从于它,而是用严谨的数学方法,在黑暗中一步步摸索出完整图景。这不仅是数据科学的强大工具,更是一种普适的人生智慧——许多复杂问题都无法一蹴而就,唯有通过持续迭代、基于现有反馈不断调整策略,才能最终找到最优解。EM算法因而超越了工具本身,成为一盏指引如何从“未知”走向“已知”的明灯。

(2)算法规范
1.根据C++核心指南(C++ Core Guidelines)和Google C++风格指南,以下是与原案例类似的C++命名规范与代码格式规范:

命名规范
1.类型命名

类、结构体、枚举、类型别名:采用大驼峰命名法(UpperCamelCase)
class UserService; struct OrderDetail; enum class ColorMode; using AccountId = int;

2.变量与函数命名

变量名、函数名、参数名:采用小驼峰命名法(lowerCamelCase)

getUserInfo() inputUserId localValue calculateTotalPrice()

3.常量与枚举值

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

枚举值:推荐全大写,或按常量方式命名

const int MAX_BUFFER_SIZE = 1024; enum class State { IDLE, RUNNING, ERROR };

4.文件命名

头文件/源文件:使用小写+下划线

user_service.h order_manager.cpp

5.宏命名

全大写+下划线(尽量少用宏)

ifndef HEADER_GUARD_NAME

二、代码格式规范
1.缩进

使用2个空格缩进(非4个空格,与Java区别开)

严禁使用Tab字符

2.行宽限制

单行字符数不超过80个(C++传统标准)

超长表达式换行时:

运算符放在行末

第二行相对第一行缩进2个空格

函数调用参数换行时,垂直对齐

posted @ 2025-10-16 11:22  张浩1  阅读(6)  评论(0)    收藏  举报