摘要:
一 通常的函数调用一个通常的函数调用的例子: //自行包含头文件 void MyFun(int x); //此处的申明也可写成:void MyFun( int ); int main(int argc, char* argv[]) { MyFun(10); //这里是调用MyFun(10);函... 阅读全文
摘要:
一、问题描述实现3种树中的两种:红黑树,AVL树,Treap树二、算法原理(1)红黑树红黑树是一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是red或black。红黑树满足以下五个性质:1) 每个结点或是红色或是黑色2) 根结点是黑色3) 每个叶结点是黑的4)如果一个结点是红的,则... 阅读全文
摘要:
一、问题描述 在单处理器上具有期限和惩罚的单位时间任务调度问题。二、算法原理 任务调度问题就是给定一个有穷单位时间任务的集合S,集合S中的每个任务都有一个截止期限di和超时惩罚wi,需要找出集合S的一个调度,使得因任务误期所导致的总惩罚最小,这个调度也称为S的一个最优调度。 实现任务的最优调度... 阅读全文
摘要:
一、问题描述0-1背包问题,部分背包问题。分别实现0-1背包的DP算法,部分背包的贪心算法和DP算法。二、算法原理(1)0-1背包的DP算法 0-1背包问题:有n件物品和一个容量为W的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价... 阅读全文
摘要:
最近刚刚做完CSAPP的几个实验,在bufbomb实验中level2和level3,需要将攻击代码嵌入到缓冲区中并修改程序返回地址为缓冲区起始地址,但是遇到了栈不可执行的问题。因为ubuntu默认栈不可执行。这里总结了两种修改程序堆栈可执行属性的方法。方法一:(有.c源文件)gcc -g -z ex... 阅读全文