一个典型的cache工作原理演示实验 前言:本文章将在可视化环境下对cache工作原理进行演示实验,通过下面三个实验,读者应能:理解cache三种访问模式(直连、两路相连、全连)的工作原理;学会计算命中率(hit rate),并理解各个参数(循环次数、步长、cache size等)如何影响hit rate;理解不同的cache策略(回写、直写、LRU)对hit rate的影响;知道如何优化代码,以实现更高的h 2023-04-14 自己事情靠自己 #体系结构 #cache
最优化计算方法(文再文)笔记 《最优化计算方法(文再文)笔记》 第一章、最优化简介 一、概述 最优化问题一般形式: 其中$x=(x_1,x_2,…,x_n)^T\in R^n$是决策变量 $f:R^n\rightarrow R$是目标函数 $\chi\in R^n$是约束集合,即可行域 s.t.是subject to,专指约束条件 但f(x)的min/max不总是存在的,此时我们关心其上下确界,即将上式改为inf(sup 2023-04-13 科研只为把业毕 #分布式 #凸优化
借top K题目思考总结堆(heap)与优先队列(priority_queque)用法 一、前言 今天做了传说中的top K ,即“用大顶堆/小顶堆对数据进行排序”的经典题目 本题思路: 用map记录每个元素出现的频率 用heap对map进行排序并节选出前K个元素 若第一次见此类题,难点当为heap的原理和对应stl容器(priority_queue)的用法。查阅了一些资料,发现不管是leetcode题解抑或博客文章都写得略语焉不详,对新手不甚友好,故笔者试图用自己的话对其原理 2023-04-13 自己事情靠自己 #c++ #算法 #leetcode
借一道leetcode思考总结map/set的应用及区别 前言 原题是leetcode349,要求两个数组的交集 这题本身不难,主要是要考虑到: 原题只需求“频率”,无需考虑“顺序”,则应使用哈希表结构,而不是顺序结构+两个for暴力遍历 用于作键值key的是数字而非字母,所以应该用正儿八经的set/map,而不是用vector搞伪hash(否则当数字键值很大且稀疏时,vector会浪费大量空间) 不需要设置明确的key,所以用set,而不是map 2023-04-13 自己事情靠自己 #c++ #算法 #哈希算法
记位运算符(>>)使用不当引起的一次bug 问题描述 今天刷leetcode时遇到个死活也想不通的bug 原题很简单,线性数组插值问题,暴力遍历和二分法都可以做 不假思索用区间左闭右开的二分法,三下五除二就整了出来,胸有成竹😋 12345678910111213141516class Solution {public: int searchInsert(vector<int>& nums, int t 2023-04-13 自己事情靠自己 #算法 #leetcode #bug