算法 笔记18

阅读笔记之《构建之法》一

在这一章中,作者为我们介绍了一些关于软件工程的基本知识。 ①软件=程序+软件工程:正是因为对软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)相关的内容的完成,才能完成把整个程序转化成为一个可用的软件的过程。 扩展的推论:软件企业=软件+商业模式 ②软件开发的不同阶段:玩具阶段→业余 ......
笔记

阅读笔记之《构建之法》二

第三章 软件工程师的成长 3.1 个人能力的衡量与发展 ①软件工程包括了开发、运用、维护软件的过程中的很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”,软件开发流程的目的是为了提高软件开发、运营和维护的效率,以及提升用户满意度、软件的可靠性和可维护性。 ......
笔记

阅读笔记之《程序员修炼之道-从小工到专家》八

第41节 注重实效的团队 1、书籍的前几章讲了几条如何成为注重实效的开发者的建议,当然他们也对团队有所帮助,如果个体都是注重实效的,那他对整体起的作用更大。 2、不要留破窗户:作为整体的团队更不应该容忍代码质量的问题,不规范的不在乎质量的团队,很有可能把那些注重实效的开发者带偏。 3、煮青蛙:整体中 ......
小工 程序员 笔记 程序 专家

阅读笔记之《程序员修炼之道-从小工到专家》九

第46节 傲慢与偏见 1、注重实效的程序员不会逃避责任,相反,我们乐于接受挑战,乐于使我们的业务知识广为人知。 2、过去时代的手艺人为能在他们的作品上签名而自豪,你也应该如此。Sign Your Work. 3、Kent Beck 在极限编程(XP)里的建议是采用公共的代码所有权,其还要求了结对编程 ......
小工 程序员 笔记 程序 专家

facebook搜索中的EBR检索技术-学习笔记

##简介 本文是论文**Embedding-based Retrieval in Facebook Search**的学习笔记 ## FB的社交搜索 搜索无处不在,搜索的种类多种多样,谷歌、百度、bing的全网搜索、淘宝京东的电商搜索,fb、微博、Twitter的社交搜索在人们的日常搜索中无处不在。 ......
facebook 笔记 技术 EBR

阅读笔记之《程序员修炼之道-从小工到专家》六

第30节 黑板 1、设想侦探破案的过程,他借助于一块黑板,把不同线索写出来;其他侦探也可以写下自己的推断和已掌握的案情细节。所有这一切串联起来将共同帮助案件侦破,但不同的线索之间是可以独立进行的。 2、这里的黑板可以抽象为一种处理事件的模型。不同于原始的工作流需要考虑各种状况,不同组合,先后顺序等, ......
小工 程序员 笔记 程序 专家

阅读笔记之《程序员修炼之道-从小工到专家》七

第36节 需求之坑 从本节开始进入了第七章节:在项目开始之前。本章节讨论了在项目开始之前的一些建议。 1、完美,不是在没有什么需要增加,而是在没有什么需要去掉时达到的。这句话的一种解读时,不要搜集需求,需求太多,容易让我们抓不住重点,更应该深挖需求,围绕核心功能不断打磨。 2、挖掘需求,需要我们与用 ......
小工 程序员 笔记 程序 专家

算法学习day50动态规划part11-123、188

package LeetCode.DPpart11; /** * 123. 买卖股票的最佳时机 III * 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. * 设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。 * 注意:你不能同时参与多笔交易(你必须在再次购买前 ......
算法 动态 part day 123

算法学习day51动态规划part12-309、714

package LeetCode.DPpart12; /** * 309. 最佳买卖股票时机含冷冻期 * 给定一个整数数组prices,其中第 prices[i]表示第 i 天的股票价格 。 * 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): * ......
算法 动态 part day 309

7. 基础算法(II)

## 7.1 位运算 **模板**:[AcWing 90. 64位整数乘法](https://www.acwing.com/problem/content/92/) **题目**:求 $a\times b\bmod p$。$1\le a,b,p\le 10^{18}$。 **思路**: **方法一* ......
算法 基础

2023年3月阅读笔记1

焦油坑 入坑前,都会觉得自己战无不胜,就像陷入焦油坑的巨兽,自以为有着庞大的身躯就能在各种的地形中安然度过。在填写志愿的时候,对未来充满希望的孩子们还不知道自己将面临什么,只觉得代码的世界奇妙酷炫,然而代码对于软件系统的开发来说只是水面上的冰山。前人的智慧告诉我们如果没有认真地进行分析、设计、进度计 ......
笔记 2023

2023年3月阅读笔记2

外科手术队伍 软件开发的团队选择往往是一个难题。在课程实践的过程中,大家往往渴望抱到大牛的大腿,因为经验丰富的程序员能起到以一敌十的效果,当一个团队中每个人的能力都很强那么这个队伍几乎就成了神话般的精英小队。对于大型的项目,小而美的团队往往有些力不从心,精英也不可能大量集中到一个团队中,这时外科手术 ......
笔记 2023

2023年3月阅读笔记3

画蛇添足 过度设计的现象常常存在,据我的观察,这种现象往往出现于极度追求完美的人和刚刚经历过首次开发设计不足的经验教训的人。过度设计的系统在最初就引入了过多的复杂性,导致开发举步维艰,这个问题或许在一个架构师有了一定经历后就自然能够解决,但是“第二个系统”的困境出现时,我们可以有意识地约束自己做出一 ......
笔记 2023

AUTOSAR笔记:工程代码集成与调试(七)

[toc] 完成AUTOSAR系统级、ECU级、SWC级相关开发和代码生成后,需要进行代码集成与调试。本文对AUTOSAR工程代码架构、集成、编译链接、调试方法进行简单介绍。 # 工程代码架构、集成方法 一套完整的符合AUTOSAR规范的ECU代码主要包括: ①应用层SWC代码; ②运行时环境代码; ......
AUTOSAR 代码 笔记 工程

AUTOSAR笔记:ECU级开发MCAL(六)

[TOC] MCAL位于AUTOSAR架构最底层,与MCU内部及外设有关。该层作用:接收上层指令,完成对硬件的直接操作;获取硬件相关状态,反馈给上层,对上层屏蔽硬件相关特征,只提供对应的操作接口。 示例需要用到MCAL中MCU驱动(Microcontroller Unit Driver):GPT驱动 ......
AUTOSAR 笔记 MCAL ECU

AUTOSAR笔记:ECU级开发——RTE、BSW(五)

[TOC] 根据AUTOSAR方法论,完成了系统级SWC设计,还需配置目标ECU(ECU级设计)。该阶段主要针对运行时环境(RTE)、基础软件层(BSW)模块的配置。BSW包含很多模块,可根据实际需求选择配置。 根据示例需求,A、B车灯控制器所用BSW模块: * 系统服务层中的操作系统(Operat ......
AUTOSAR 笔记 ECU BSW RTE

数据结构与算法-08堆

## 堆 堆(Heap)是一种特殊的树形数据结构,它满足以下两个条件: 堆是一棵完全二叉树,即除了最后一层,其他层都是满的,最后一层从左到右填满。 堆中每个节点的值都大于等于(或小于等于)其子节点的值,这种性质称为堆序性。 根据堆序性,堆可以分为两种类型: - 大根堆(Max Heap):每个节点的 ......
数据结构 算法 结构 数据 08

AUTOSAR笔记:AUTOSAR系统级设计(四)

[TOC] 可以先在系统级设计工具ISOLAR-A中设计SWC框架,包括端口接口、端口等,创建各SWC arxml描述文件;再将这些描述文件导入行为建模工具(Simulink)内部行为建模。 也可以先在行为建模工具中完成逻辑建模,再把生成的描述文件导入系统级设计工具中完成系统级设计与配置。 前面已经 ......
AUTOSAR 笔记 系统

单调队列学习笔记(还是再回首)

单调队列的应用很常见,比如用于dp优化,以及滑动窗口问题等。 其思想也比较简单易懂。我们以求区间最大值的单调队列为例。 具体的来讲,我们让队头始终是最大的元素。为了保证数都在区间内,我们记录一个 $t$ 数组。该数组表示某个元素加入的时间。我们每次将新元素(设为 $x$)入队时,先将队头超时的元素弹 ......
队列 还是 笔记

[刷题笔记] Luogu P3073 [USACO13FEB]Tractor S

[Problem](https://www.luogu.com.cn/problem/P3073) ### Solution 和[汽车拉力比赛](https://www.cnblogs.com/SXqwq/p/17455232.html)差不多,思路都是二分,二分$d$,但是汽车拉力比赛从一个路标开 ......
Tractor 笔记 Luogu P3073 USACO

文心一言 VS 讯飞星火 VS chatgpt (34)-- 算法导论5.3 1题

# 一、Marceau 教授不同意引理 5.5 证明中使用的循环不变式。他对第1次送代之前循环不变式是否为真提出质疑。他的理由是,我们可以很容易宣称一个空数组不包含0排列。因此一个空的子数组包含一个0排列的概率应是 0,从而第 1次选代之前循环不变式无效。请重写过程 RANDOMIZE-IN-PLA ......
文心 导论 算法 chatgpt VS

数据结构与算法-06散列表

## 散列表 散列表(Hash Table),也称为哈希表,是一种基于哈希函数(Hash Function)实现的数据结构,它支持快速的插入、删除和查找操作。 散列表将每个元素的关键字(Key)通过哈希函数映射到一个固定的位置,称为散列值(Hash Value),然后将元素存储在该位置上。 ![散列 ......
数据结构 算法 结构 数据 06

数据结构与算法-06树及二叉树

## 树和二叉树 完全二叉树: 除了最下层,每一层都满了 满二叉树: 每一层都满了 平衡二叉树: 任意两个节点的高度差不大于1 排序二叉树: ![](https://img2020.cnblogs.com/blog/1064540/202004/1064540-20200421195003247-1 ......
数据结构 算法 结构 数据 06

数据结构与算法-栈

## 栈 堆和栈一样吗? 栈(stack)一般编译器自动分配释放 堆(heap)一般由程序员分配释放,或程序结束后OS释放 LIFO 后进先出 ## 栈的实现 ``` class Stack(object): def __init__(self): self.__list = [] def push ......
数据结构 算法 结构 数据

数据结构与算法-队列

## 队列 FIFO 先进先出 ### 队列的实现 ``` class Queue(object): def __init__(self): self.__list = [] def enqueue(self, item): self.__list.append(item) def dequeue( ......
数据结构 队列 算法 结构 数据

数据结构与算法-链表

## 链表 一个节点分为两部分,数据区和链接区, 链接区指向下一个节点 ### 单项链表 ![](https://img2020.cnblogs.com/blog/1064540/202004/1064540-20200421194754838-1882136796.png) a, b = b, a ......
数据结构 算法 结构 数据

数据结构与算法-顺序表

## 顺序表 用连续单元存储数据(地址连续) 变量名指向起始地址 索引实际是从起始位置的偏移量 1. 一体存储 元素内置 2. 分离存储 元素外置 3. 动态顺序表(可以数据扩充) ## 顺序表的操作 添加元素 末尾添加 O(1) 中间插入O(n) 插入非保序O(1) 删除元素 末尾删除 O(1) ......
数据结构 算法 顺序 结构 数据

异或线性基学习笔记

```cpp void ins(ll x){ for(ll i=64; i>=0; i--) if(x>>i){ if(!p[i]) {p[i]=x; return;} else x^=p[i]; } } ``` 根据以上代码构造的异或线性基有性质: - $p_i>p_j$ 当且仅当 $i>j$ 且 ......
线性 笔记

拟阵学习笔记(杂记)

# 拟阵学习笔记(杂记) ## 拟阵基础 拟阵是一个二元组 $M = (U , I)$,其中 $U$ 是一个 **有限** 集合,一般是待研究元素全集,$I$ 是 $U$ 的一些子集的集合,一般是满足给到限制的子集的集合。 拟阵要满足两个性质: - 遗传性:$\forall S \in I , T ......
拟阵 杂记 笔记

《淘宝技术这十年》读书笔记

一. 分布式时代 在系统发展的过程中,架构师的眼光至关重要,作为程序员,只要把功能实现即可,但作为架构师,要考虑系统的扩展性、重用性,对于这种敏锐的感觉,有人说是一种“代码洁癖”。淘宝早期有几个架构师就具备了这种感觉,周锐虹开发的Webx是一个扩展性很强的框架,行癫在这个框架上插入了数据分库路由的模 ......
笔记 技术