03 2015 档案
摘要:问题描述:考察一个机械厂,其中有 m 台一模一样的机器。现有 n 个作业需要处理,设作业 i 的处理时间为ti,这个时间为从将作业放入机器直到从机器上取下作业的时间。所谓调度(s c h e d u l e)是指按作业在机器上的运行时间对作业进行分配,使得:• 一台机器在同一时间内只能处理一个作业。...
阅读全文
摘要:堆是一种优先队列的实现。堆是一颗完全二叉树,所谓完全二叉树就是除了最后一层以外,其他层都是满的,而且最后一层所缺的叶结点都在右边。在完全二叉树中,节点的序列号有如下关系:特性4:设完全二叉树中一元素的序号为i,11,则该元素父节点为i/2(向下取整)当2*i>n时,该元素无左孩子。否则,其左孩子为2...
阅读全文
摘要:队列是先进先出的线性表,顾名思义,优先队列则是元素有优先级的队列,出列的顺序由元素的优先级决定。从优先队列中删除元素是根据优先权的高低次序,而不是元素进入队列的次序。优先队列的典型应用是机器调度等。假设我们对机器服务进行收费。每个用户每次使用机器所付费用都是相同的,但每个用户所需要服务时间都不同。为...
阅读全文
摘要:从网上找到的题目,自己做了一遍1、二分查找2、给定一个字符串,得到这个字符串中首先出现两次的那个字符方法:可以用一个hash_map或者数组来存储字符出现的次数,一旦有一个出现了2次,就返回该字符3、尝试在以下文本中搜索并打印出包含单词"your"(不区分大小写)的句子,并按照出现次数从高到低排序M...
阅读全文
摘要:转自:二叉树的非递归遍历http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法...
阅读全文
摘要:二叉树的定义见:二叉树实现:公式化描述二叉树最常用的描述方法是用链表或指针。每个元素都用一个有两个指针域的节点表示,这两个域为 L e f t C h i l d和R i g h t C h i d。除此两个指针域外,每个节点还有一个 d a t a域。二叉树的边可用一个从父节点到子节点的指针来描述...
阅读全文
摘要:解法1:从前往后扫描,碰到空格就替换,空格后面的元素向后移2。显然这种方式中有很多冗余的移动操作,其复杂度为O(n2)解法2:先遍历一遍获得空格的总个数。 1 #include 2 3 using std::cout; 4 using std::cin; 5 using std::end...
阅读全文
摘要:题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。当我们需要解决一个复杂的问题时,一个很有效的方法就是从一个简单的具体问题入手,寻找普遍的规律。规律:首先选取数组中右上角的数字,...
阅读全文