这里是黄永亮的博客

20220513数据结构绿皮书读书笔记

20220513数据结构绿皮书读书笔记 效率分析 程序运行哪里耗时最长?显然不是输入,因为只有一次,输出一般来说也很快。大量的计算都是在update方法个neighborCount方法的调用上,在每代update都需要重新计算每个细胞的邻居,在一个常见的布局中,可能仅有5%的细胞是存活的,并且集中在一个区域。因此update会消耗大量的时间在计算死亡的细胞上,他们没有存货的邻居,也不可能复活。如果95%的细胞都死了,那么下一代的计算是相当没有效率的 但是这种性能下降重要吗?一般来说不重要,因为对用户来说计算可以很快的完成,看起来就是一瞬 ...

20220512数据结构绿皮书读书笔记

20220512数据结构绿皮书读书笔记 维护程序的第一步就是review、分析、评估。思考如下几个问题 1.程序是否按需求正确解决了问题? 2.程序在所有条件下都能正常的工作吗 3.程序是否有一个好的用户界面?用户能否方便简单的输入,输出是否有用简洁?程序是否提供了可选的特性供使用者选择?是否包含足够的指导和其他信息? 4.程序的逻辑是否使用使用方便和简短的函数来清晰的书写,数据结构能否准确的反映程序的需要 5.程序是否有良好的文档?命名是否意义准确?对困难和主要的代码是否有解释? 6.程序对空间和时间的利用是否高效?通过 ...

20220511数据结构绿书读书笔记

/* From extension vscode.github */ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .vscode-dark img[src$=\#gh-light-mode-only], .vscode-light img[src$=\#gh-dark-m ...

20220510数据结构绿书读书笔记

/* From extension vscode.github */ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .vscode-dark img[src$=\#gh-light-mode-only], .vscode-light img[src$=\#gh-dark-m ...

20220509数据结构绿书读书笔记

20220509 数据结构读书笔记 全书目录如下 1.编程原则 2.栈 3.队列 4.链栈&队列 5.回溯 6.列表和串 7.搜索 8.排序 9.表格与信息检索 10.二叉树 11.多叉树 12.图 13.波兰式 开坑! 第一章其实上学时候就看过,我很多的习惯都是因为这本书才养成的,但当时并没有记录- -,这次一并补上,看英文书的好处就是写的足够详细,什么时候读都能get到作者的意思,不好的地方就是太啰嗦了。但好在我是为了消磨时间才立的这个flag 编写一个large的程序往往有很多问题,这里的large可以理解为实现复杂或者规模庞大 问题1.精确的定义问题 拆分并 ...

20220424树的布局算法

某群友需要绘制树形结构数据到excel中,拍脑袋想了下感觉不是很难,遂给出算法分析。 偷懒用了excel的column和row函数获取所在行列,直接能看到结果,目测也是算得出来结果的 因为要求是横着的,所以例子是横着的。但算法定义时候是竖着思考的,所以用的是宽度w和距离左侧的宽度l,算完了再横过来画就完了 首先这样定义子节点宽度: 当不存在子节点(即叶子节点)时,宽度为1 当存在子节点时,如果子节点为奇数n则宽度为n,如果为偶数n则宽度为n+1。说明:因为偶数的情况下父节点需要居中占一个,(n+1)/2的位置要空着给父节点 然后计算 ...

20211023.Web后端参数检查的通用代码生成设计与实现

Web后端参数检查的通用代码生成设计与实现 前言 本文章来自这里,主要讨论&设计常见接口实现逻辑中的参数校验部分,主要是实现到Controller实现逻辑的时候决定修改总计划,不再追求全流程代码生成,原因不再赘述。 相关源代码库 元模型定义 https://github.com/956237586/hyldesigner 代码生成器  https://github.com/956237586/hyldesigner-codegen realworld-mdd demo https://github.com/956237586/realworld-mdd 需求价值 简化&替代实际业务场景下常见的参数校验代码编写,提高开发效率,减少浪费在Copy And Paste上的宝 ...