
算法与数据结构
平菓菓
本人性格大方、稳重、谦逊、有责任感,待人热诚,工作积极主动,有很强的团队合作精神。上进心强,勤于学习。在IT方面有天赋且有浓厚兴趣。希望能在IT方面一展所长,为企业、为用户、为社会创造价值。
展开
-
否定一种“组合数快速算法”
以下是转载的算法:计算组合数最大的困难在于数据的溢出,对于大于150的整数n求阶乘很容易超出double类型的范围,那么当C(n,m)中的n=200时,直接用组合公式计算基本就无望了。另外一个难点就是效率。对于第一个数据溢出的问题,可以这样解决。因为组合数公式为:C(n,m) = n!/(m!(n-m)!)为了避免直接计算n的阶乘,对公式两边取对数,于是得到:ln(C(n,m)原创 2012-05-27 12:48:06 · 765 阅读 · 0 评论 -
字符串用指针和数组的区别
转引自:http://www.wangchao.net.cn/bbsdetail_837875.html字符指针和字符数组 char* s1="hello"; char s2[]="world"; 两个表达式的含义基本上是一样的。 如果讲不同之处的话,那就是VC中编译时,对这两种定义进行了不同的处理; char *s1 = "hello"; 中的"hello"在转载 2013-04-12 16:41:18 · 894 阅读 · 0 评论 -
OS开发之底层内存管理笔记
操作系统从BIOS的int 15h,ax = 0E820h子功能获得64位系统内存表(system memory map)后,需要对可用的内存进行管理,即建立一些数据结构用来记录已用的和空闲的内存,从而为后续的内存的申请使用和释放做准备。 考虑到内存的空间有限,为了尽量减小内存管理数据结构所占的额外空间,我决定用IA32架构的小页面大小4KB为粒度管理内存。 由于对内存的申请和释放是随原创 2014-01-27 11:05:33 · 1389 阅读 · 0 评论 -
论算法之消除重复
我自学算法,略有所得,发现一些算法优化的过程其实就是消除重复的过程。例如从时间复杂度Θ(n2)的冒泡排序、插入排序到时间复杂度Θ(nlog2n)的快速排序、归并排序。冒泡排序算法的运作如下:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。3、针对所有的元原创 2014-07-03 16:23:05 · 1303 阅读 · 0 评论 -
用Java进行AES256-ECB-PKCS7Padding加密
大家可以先看主要的代码: import java.security.Security;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import org.bouncycastle.jce.provider.BouncyCastleProvider;public class Encrypt ...原创 2015-07-24 19:43:22 · 27023 阅读 · 2 评论