• gdb入门系列4

    GDB入门系列4查看运行时数据在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:print / 。 一、表达式 print和许多GDB...
  • gdb入门系列3

    GDB入门系列3查看栈信息概要 backtrace(缩写为bt)打印当前的函数调用栈的所有信息。 backtrace n是一个正整数,表示只打印栈顶上n层的栈信息。 backtrace <-n> -n表一个负整数,表示只打印栈底下n...
  • gdb入门系列2

    GDB入门系列2一、help命令的使用1ubuntu@VM-0-14-ubuntu:~/learn_gdb$ gdb 1234567891011121314151617181920212223(gdb) helpList of classes of ...
  • gdb牛刀小试

    gdb牛刀小试写在前面最近时间很多,我在努力做MIT6.S081这门课的Lab,但是经常会遇到一些让我难以理解并且无从入手的bug,因此愈加萌发了学习gdb的想法。也试着去看gdb的官方文档,但是那个pdf足足有将近900页,总感觉这样看书对于一个新...
  • 使用启发式算法解决多背包问题

    使用启发式算法解决多背包问题1. 问题介绍要讲多背包问题,我们先来讲一讲单背包问题。单背包问题是关于如何将将不同的物品放入到一个背包中。这些物品有重量和价值这两个属性,并且背包有容量限制这一个属性。这个单背包问题的目标就是最大化放入背包中物品的总价值...
  • n皇后问题

    n皇后问题一、问题介绍n皇后问题借鉴了国际象棋中皇后的概念,此处我先介绍一下这里的皇后指的是什么。在国际象棋中,在一个棋盘上,皇后可以横着走、竖着走和斜着走。而n皇后问题指的就是,假设有n个皇后,在一张n*n的棋盘上,如何将这些皇后放在这张棋盘上,是...
  • 使用Karger算法解决最小割问题

    使用Karger算法解决最小割问题一、问题介绍把图 G=(V, E) 的节点 V 分割成两个部分 S 和 S-V 的边的集合称为割,而最小割问题就是输⼊是⽆向图 G,求解把图 G 分割成两个部分的边数最⼩的割。而随机算法是指该算法中使用了随...
  • 动态规划解决单背包问题

    动态规划解决单背包问题一、问题介绍单背包问题是指给定一个背包,一些物品,这个背包有承重上限这个属性,而这些物品有重量和价值这两个属性,而这个问题要求解得到的是一个放置物品的策略,要求背包中所放物品的价值总和尽可能的大,但是这个物品的重量总和不能超过背...
  • 动态规划解决最长递增子序列问题

    动态规划解决最长递增子序列问题一、问题介绍首先我来介绍一下什么是最长递增子序列问题,要知道什么是最长递增子序列问题,我们必须先明白一个概念,那就是什么是子序列,所谓子序列,就是将给定序列中零个或多个元素去掉之后得到的序列。那么递增的子序列就是指该序列...
  • 关于稳定性计数排序的研究

    关于稳定性计数排序的研究一、介绍我们一开始接触的排序算法大都是如冒泡排序、插入排序和选择排序这类的基于比较的排序算法,这类基于比较的排序算法的时间复杂度限制在了$O(nlogn)$。那么有没有时间复杂度更优的排序算法呢,当然是有的,有这么一些算法不需...