多维数组特殊矩阵对称矩阵三对角矩阵
[a00,a01,a10,a11,a12,a13,a21,…,an−1n−2,an−1n−1][a_{00}, a_{01}, a_{10}, a_{11}, a_{12}, a_{13}, a_{21},… ,a_{n-1n-2}, a_{n-1n-1}][a00,a01,a10,a11,a12,a13,a21,…,an−1n−2,an−...
遍历递归1234567void recur(Node* head){ if (head == NULL){ return ; } recur(head->left); recur(head->right);}
非递归先序遍历(深度优先)
从栈中弹出一个节点cur
打印(处理)cur
先右后左加入栈(如...
栈
只在一端插入和删除的线性表(栈顶)
后进先出(LIFO)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455template <class T>class Stack {private: int top; /...
归并排序
分解
排序
合并
123456789101112131415161718192021222324252627282930void merge(int[] arr, int l, int mid, int r){ int n1 = l; int n2 = mid + 1; int help[r - l + 1]; int i = 0; ...
交换交换int a 和 int b的位置
123456int a = 10;int b = 20;a = a ^ b;b = a ^ b; //b = a ^ b ^ b = aa = a ^ b; //a = a ^ b ^ b(a) = b
a和b不能是同一个数(内存意义上),否则结果会是0
数组查找一个有奇数个的数字(其余全偶数个)
^具有交换律:a ^ b = b ^ a
偶数...
线性表概念n个数据元素的有限序列
特点
除第一个元素外,其他每个元素有且仅有一个只有一个直接前驱
除最后一个元素外,其他每个元素有且仅有一个只有一个直接后继
抽象基类1234567891011121314151617181920template <class T, class E>class LinearList {public: LinearList(); /...
1.流水线CPU概述
取指令IF
指令译码ID
执行EX
访存M
写回WB
2.指令的流水段分析3.流水线数据通路的设计
4.流水线控制器的设计
1.多周期数据通路的设计
分阶段
取指令阶段
执行一次存储器读操作
读出的内容保存到寄存器IR(指令寄存器)中
IR的内容不是每个始终都更新,所以IR必须加一个“写使能”控制
在取指令阶段结束时,ALU输出为PC+4,并送到PC的输入端,但不能在每个时钟到来时就更新PC,所以PC也要有“写使能”控制
译码/读寄存器堆阶段
经过控制逻辑延迟后,控制信号更新为新值
执行一次寄存器读...
Temporal Memory Problems
Use After Free
Double Free
Memory Leak
Dangling Pointer
RAII
Resource Acquisition Is Initialisation
Constructor Acquires, Destructor Release
资源获取放在构造函数中,资源删除放在析构函数中
lo...
1.多周期数据通路的设计
分阶段
取指令阶段
执行一次存储器读操作
读出的内容保存到寄存器IR(指令寄存器)中
IR的内容不是每个始终都更新,所以IR必须加一个“写使能”控制
在取指令阶段结束时,ALU输出为PC+4,并送到PC的输入端,但不能在每个时钟到来时就更新PC,所以PC也要有“写使能”控制
译码/读寄存器堆阶段
经过控制逻辑延迟后,控制信号更新为新值
执行一次寄存器读...