算法导论10.4-5
思路:
1、不停搜索当前节点的左孩子直到最后一个左孩子,并赋给当前节点
2、当前节点有右孩子,将右孩子设为当前节点,执行1
若当前节点没有右孩子,将当前节点标记为last,当前节点上溯到其父节点
3、执行1前,判断当前节点左右孩子是否为last,如为last跳到2
#include <stdio.h>
#include <stdlib.h>
//typedef struct NODE *tree;
typedef struct NODE *node;
s...
一个监狱看守从三个罪犯中随机选择一个予以释放,其他两个将被处死。警卫知道哪个人是否会被释放,但是不允许给罪犯任何关于其状态的信息。让我们分别称为罪犯为X,Y,Z.罪犯X私下问警卫Y或Z哪个会被处死,因为他已经知道他们中至少一个人会死,警卫不能透露任何关于他本人状态的信息。警卫告诉X,Y将被处死。X感到很高兴,因为他认为他或者Z将被释放,这意味着他被释放的概率是1/2。他正确吗?或者他的机会仍然是1/3?
分治法及暴力法求解数组中连续最大子数组及分别占用运行时间比较:
分治法:nlgn
暴力法:n*n
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <Windows.h>
#include <string.h>
#define NEGATIVE_INFINITY -1000
typedef struct RESULT{
int low;
int high;
int sum;
}Result;
void findmaxsubarr...