07 2014 档案
一维向量旋转算法 编程珠玑 第二章
摘要:看了编程珠玑第二章,这里面讲了三道题目,这里说一下第二题,一维向量旋转算法。题目:将一个n元一维向量(例数组)向左旋转i个位置。解决方法:书上讲解了5种方法,自己只想起来2种最简单方法(下面讲的前两种)。1.原始方法。 从左向右依次移动一位,对所有数据平移;这样循环i次,算法最坏时间复杂度达n^2...
阅读全文
生成无重复随机数问题
摘要:之前博客磁盘文件排序里面提到了一种排序方法,这里做下总结。 1.暴力法。当生成已在文件中时,继续产生随机数,直到生成完为止,对数组不删除等操作。缺点:耗时,甚至无解。 2.删除数组元素法(动态缩小随机数范围)。当产生一个随机数时把产生的那个数从已有的数组中排除,缩小随机产生的范围。性能良好。 3.交...
阅读全文
位向量
摘要:看了编程珠玑第一章练习题第二题,关于位向量使用逻辑运算符实现的问题。首先,位向量不明白:位向量是一种高效的整数结构,每一个32位的整数通过设置或清除它的某一位,可以保存32个数。如果是一个数组,则可以存更多的数。题目意思是使用一个整数表示32个数,可以使多个整数组成的数组,如int a[2]表示两个...
阅读全文
磁盘文件排序 编程珠玑
摘要:开始看编程珠玑了,第一个就是进行磁盘排序的问题,想到了也只是归并排序,但题目要求1M内存,这个算法不可行。编程珠玑写到使用位图(分两次操作读写可以成功实现,小于内存1M),详情看编程珠玑第一章。题目:给定10^7数据,对大数据进行排序。要求内存只有1M,时间可以接受,较短。解决方法:1.多路归并...
阅读全文
vector 内存释放问题
摘要:关于容器的处理,只是拿来用,理解不深,但是今天跑程序出了问题。释放空间未得到真正的释放。于是网上找了一些文章,解决的问题。解决方法:使用swap 加上clear,一起释放空间。原理:即先创建一个临时拷贝与原先的vector一致,值得注意的是,此时的拷贝(申请空间时系统分配容量)其容量是尽可能小的符合...
阅读全文
QT cannot open output file debug\OpencvTest.exe: Permission denied
摘要:问题:调试运行QT的时候遇到这个问题,发现时是由于没有正常关闭程序所致,导致后台有之前运行的程序在跑(电脑环境win7 64 Qt5.2.1 opencv2.4.6)。 目前解决办法:手动关闭已在运行的程序,然后再跑QT creator,成功! 不过这种方法不大好,希望有好的方法望网友分享(...
阅读全文
Vs2012 中使用itoa
摘要:自己在写程序的时候经常用到保存大量的图片,从而对其编号,所以要把整型转换成字符型。通常自己定义string,而字符使用char[],把整形转换成char类型,然后和string类型相加,但是在VS2012中遇到了The POSIX name for this item is deprecated. ...
阅读全文