
笔记
philos_CS
CS student in FDU
展开
-
自定义排序的几种方法总结
最近发现总容易忘记自定义排序的几种方法,就写一下总结 重载"<"运算符 struct Item { int i; bool operator <(const Item& rhs) const // 升序 { return i < rhs.i; } }; 函数对象(仿函数) class CompLess { public: bool operator ()(const Item& stItem1, const Item& stIt.原创 2021-01-29 10:41:16 · 744 阅读 · 0 评论 -
卡特兰数证明
引言 关于卡特兰数这个名词,可能有些人会比较陌生,我下面举个实际示例,大家应该就知道是啥了。 求先序序列为 a,b,c,d 的二叉树的数目 求入栈序列为 a,b,c,d 的出栈数目 归纳 其实这类题目都可以归为卡特兰数的求解,比如求二叉树的数目,我们完全可以把先序序列认为是入栈序列,而出栈序列可以认为是中序序列,我们都知道,先序 + 中序就可以得到一棵二叉树了。 为什么可以这样等价呢? 对于任何一个前序序列和中序序列,我们都可以得到下面的形式: 父节点——左子树——右子树 左子树——父节点——右子树 那原创 2020-12-17 14:33:07 · 996 阅读 · 0 评论 -
定点数/浮点数的运算
定点数运算 1.定点数补码的加法 1.定义: 两个补码表示的数相加,符号位参加运算,且两数和的补码等于两数补码之和。两个数不管正负,均用补码表示,符号位应当做数值参加运算,符号位相加所产生的进位要丢掉,结果为补码。 2.举例: X=0.1011 Y=-0.0101,求 X+Y=? 1 解: [X]补=0.1011,[Y]补=1.1011 [X]补+[Y]补 = 0.1011+1.1011 = 0.0110 = [X+Y]补 所以 X+Y = 0.0110 2.定点数的补码减法 1.定义: 对于减法,(-原创 2020-10-22 16:28:53 · 1518 阅读 · 2 评论 -
Android屏幕适配笔记
最近做项目遇到了屏幕适配的问题,当然如果只是面向主流开发,也不太需要做适配了,但是适配一下总是比较好的。 也查了很多文章,这里做下笔记吧。详细分析看一下我贴的原文章链接。 屏幕适配 名词解释 参考文章 px (pixel): Android中代表绝对像素,比如 160px 的控件在分辨率为宽 320px 的设备中占一半,在分辨率为宽 640px 的设备中占 1/4。所以这在开发中肯定不被推荐使用。 dpi (dots per inch): 为了避免使用 px 带来的问题,dpi 翻译过来就是每一英寸的屏幕所原创 2020-07-24 17:16:03 · 250 阅读 · 0 评论 -
软件工程全书知识点笔记
Chapter 1-概论 计算机软件指计算机系统中的程序及其文档 软件危机 许多软件项目不能满足客户的要求 许多软件项目超出预算和时间安排 软件危机的表现 对软件开发成本和进度的估计常常很不正确 用户对已完成的软件系统不满意的现象经常发生 软件产品的质量往往靠不住 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统总成本中所占的比例逐年上升 软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势 软件危机的原因 软件是逻辑产品,开发进度、成本难原创 2020-06-17 15:04:10 · 1496 阅读 · 0 评论 -
C++常用数据结构使用总结
目录 set操作 map操作 字符串操作 vector操作 文件操作 设置精度 快捷键 set操作 set是一种关联式容器,其特性如下: set以RBTree作为底层容器 所得元素的只有key没有value,value就是key 不允许出现键值重复 所有的元素都会被自动排序 不能通过迭代器来改变set的值,因为set的值就是键 unordered_set代表是无序的, set<int> numSet; for(int i=0;i<6;i++) {原创 2020-06-18 09:05:19 · 1352 阅读 · 0 评论