- 博客(14)
- 资源 (1)
- 收藏
- 关注
转载 那些不安全的库函数
C 和 C++ 不能够自动地做边界检查,边界检查的代价是效率。一般来讲,C 在大多数情况下注重效率。然而,获得效率的代价是,C 程序员必须十分警觉以避免缓冲区溢出问题。C语言标准库中的许多字符串处理和IO流读取函数是导致缓冲区溢出的罪魁祸首。我们有必要了解这些函数,在编程中多加小心。一、字符串处理函数strcpy()strcpy() 函数将源字符串复制到缓冲区。没有指定要复制字符的具体数目!如果源字
2015-09-28 16:45:00 843 1
转载 分布式计算学习先验知识
What are some good resources for learning about distributed computing? Why?PrerequisitesUnix shell basics C OS basics Unix Programming http://www.kohala.com/start/ Networking Basics Network
2015-09-27 22:37:29 395
原创 走迷宫的题目
一个迷宫n*m的迷宫格,每格都有一份价值为aija_{ij}的礼物,从左上角开始到右下角(且只能向下和向右),小明可以选择收获路径上的每个单元格的礼物,但必须满足其值比手中所有礼物的价值都要高,也可以选择不拿礼物,一直到迷宫右下角时,小明手中有k份礼物总共有多少种方案。 比如 1 2 2 1 长度为
2015-09-27 21:22:27 1375
原创 最长上升子序列
算法在编程之美上有比较全面的介绍,第一种算法: 时间复杂度O(n2)O(n^2) //假设在前i个元素中,最长的递增子序列长度为LIS[i] //LIS[i+1] = max{1,LIS[k]+1},if for k<=i LIS[i+1]>LIS[k] //总的时间复杂度为o(n2)int LIS2(vector<int>&arr){ vector<int> dp(arr.size(
2015-09-27 21:18:47 305
原创 编程技巧总结-用位运算表示极大极小值
编程中常常遇到要判断一个序列中的极大值和极小值, 在比较的时候我以前可能从保存第一个位开始,其实可以按照范围给定一个极大值和极小值。C++中,在include limits头文件后,可以使用: numeric_limits<int>::max() numeric_limits<int>::min()其实可以利用位运算,int占用4个字节,因此可以用下面的方法:int int_max=~(1<<
2015-09-25 17:22:31 543
原创 数组和指针
数组和指针什么时候相同所有作为函数参数的数组名总是可以通过编译器转换为指针,其他情况下,数组的声明就是数组,指针的声明就是指针,两者不能混淆,但是在使用数组时,两者可以互换。声明:extern,如extern char a[];不能改写成指针的形式定义,如char a[10]; 不能改写成指针的形式函数的参数,选择数组形式或指针形式。在表达式中使用: 数组形式或者指针形式都可以。 什么
2015-09-16 10:42:17 281
原创 Win32 线程知识点梳理二
Win32中sendMessage() 是同步行为,而PostMessage()是异步行为。关于进程和线程的协调工作是由同步机制来完成的。Critical Section 临界区它的含义是指一小块用来处理一份被共享的资源的程序代码,这里的资源指的是广义的如一块内存、一个数据结构、一个文件或其他具有使用排他性的的东西。对资源的保护是通过允许一次仅仅一个线程进入critical section。 注意
2015-09-15 22:13:27 378 1
原创 Win32 线程知识点梳理一
Win32 线程知识点梳理一为什么不使用多个进程线程价廉如果使用多进程,将窗口的handle交给另一个进程是一个困难的问题,因为handle只在其诞生的进程中才有意义,避免某个进程危及另一个进程的资源,在一个多线程程序中,所有的线程都可以使用这个窗口的handle,因为handle和线程在同一个进程之中web服务器中为每个请求产生一个新的进程很容易,但额外负担非常惊人,必须载入服务器软件的一个
2015-09-14 22:42:38 505
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人