hash冲突
在使用hash表时肯定会遇到hash冲突的情况(看你设计的hashCode如何,设计的好,冲突就少一些)
但是冲突再少也会存在冲突,那就需要有处理冲突的方法,下面列出来一些处理hash冲突的方法
开放定址法
一旦发生冲突,就去寻找下一个空的散列地址(按照某种规则去找另一个空地址),只要散列表足够大,总能找到空位
SCIP(Sloving Constraint Interger Programs)是一款非常成熟的整数规划求解框架。
其支持多种文件格式,就以LP文件格式为例
求解 x1 + 2 x2 + 3 x3 + x4
的最大值
1 | Maximize |
命令行输入scip进入SCIP命令行
使用read读取lp文件(自己编写的lp问题)
1 | SCIP> read "/Users/zhanghe/Desktop/user/scip/test_scip.lp" |
使用optimize求解lp问题
1 | SCIP> optimize |
使用display solution展示求解答案
1 | SCIP> display solution |
注意:我使用的版本是6.0.10,不同版本可能略有差别
ziplist又叫做压缩列表,使用一段连续的内存来存储数据的数据结构,redis为了节约内存而开发的,可以节省内存空间,其并不是以某种压缩算法来进行压缩存储数据,而是表示一组连续的内存空间使用
1 | <zlbytes> <zltail> <zllen> <entry> <entry> ... <entry> <zlend> |
Git中有四个文件很重要,HEAD文件、index文件,objects目录以及refs目录。
之前的文章中有说过本地库是存在.git目录下的objects文件夹中,而且文件夹名为commit_id的前两位,文件名为commit_id的另外38位,那这里边记录的是什么呢,记录的是commit对象
Git底层有三种类型的对象