原创 算法導論 思考題 16-2b 最小平均完成時間調度問題

這裏省略對p[N]排序 #include <stdio.h> #include <stdlib.h> #include <limits.h> #define N 3 int getMin(int *p,int* r,int t) {

原创 算法導論 哈夫曼樹的傳輸

typedef struct { int x; char c; }Trans,*pTrans; int storeHuffman(Trans *a,pHuff root,int i) { int j,k; if(root->le

原创 算法導論 哈夫曼編碼

#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 6 typedef struct Huff { int freq; Huff *left; H

原创 算法導論 練習題 17.2-3

按照提示,維護一個指針一直指向最高爲的1 只有i=2k時,increament纔會進一位,其中k>=1 and k<=lgn 假設進行了m次increament操作後,進行reset操作 則increament需要O(m)時間,reset

原创 算法導論 練習題 16.2-5

#include <stdio.h> #include <stdlib.h> #define N 5 typedef struct ExtentNode { int x; int y; }Ex,*pEx; int a[N]={1,

原创 算法導論 練習題 17.2-1

設前k個操作需要O(k)時間,複製也需要O(k)時間,一共是O(2k),設爲一次操作 共進行n/k次操作 所以時間爲n/k*O(2k)=O(n)

原创 算法導論 練習題 16.2-6

#include<stdio.h> #include<stdlib.h> #define N 3 typedef struct PackNode { int w; int v; }PN,*pPn; void swop(pPn a,

原创 算法導論 練習題 18.1-4

第一層2t-1,第二層2t(2t-1),第三層(2t)2…… 所以一共是∑(2t)i(2t-1),其中i= 0 to h 計算得(2t)h+1-1

原创 算法導論 練習題 17.3-3

設D(i)=∑lgk,其中k=1 to i,i代表堆中元素個數。 Insert操作: ci'=ci+D(i)-D(i-1)     =lgi + ∑lgk (k=1 to i) - ∑lgk (k=1 to i-1)     =2lgi

原创 算法導論 思考題 16-1 d小題 找零問題

#include <stdio.h> #include <stdlib.h> #include <limits.h> #define N 52 #define M 4 int coins[M+1]={0,25,6,5,1}; void

原创 算法導論 用擬陣求解任務調度問題

#include <stdio.h> #include <stdlib.h> #define N 7 void swop(int *a,int *b) { int temp=*a; *a=*b; *b=temp; } int

原创 算法導論 練習題 16.1-5

void maxValue(pAct acts,int *values,int *Trace) { for(int i=0;i<N;i++) { values[i]=acts[i].value; Trace[i]=-1; }

原创 算法導論 練習題 17.2-2

設每個2的冪代價爲2i+(2i-2i-1),其餘爲0,其中i>=1 and i<=lgn 則總代價爲∑2i+(2i-2i-1)=O(n) 點贊 收藏 分享 文章舉報 萬萬歲 發

原创 算法導論 練習題 16.1-4

void interval_graph(pAct acts,int *classes) { for(int i=0;i<N;i++) { for(int k=0;k<N;k++) { if(acts[i].start>=

原创 算法導論 B樹

#include <stdio.h> #include <stdlib.h> #define t 3 typedef struct BNodeType { int n; char key[2*t]; bool leaf; BN