當前位置:首頁 » 操作系統 » 共同祖先演算法

共同祖先演算法

發布時間: 2022-06-22 20:40:42

1. 人猿的「共同祖先說」內容是什麼

人和現生的猿確實有著共同的祖先。現生的猿類共有四種:小型的猿類只有一種,即生活在亞洲的長臂猿;大型的猿類有三種,即生活在非洲的黑猩猩、大猩猩和生活在亞洲的猩猩。這些猿在動物分類上都屬不同的種屬。那麼,人和猿的共同祖先究竟是什麼樣子?哪一種現生的猿最接近於這種共同祖先的形象和結構呢?

長期以來,根據形態學和生理學的研究,一般認為非洲的黑猩猩比其他的猿更接近於人。特別是20世紀70年代後期的研究表明,黑猩猩中的矮小種——卑格米黑猩猩最與人相近。例如齊爾曼等指出,卑格米黑猩猩的身體較小,與人科早期的代表南方古猿類的身材大約相等。這種黑猩猩的解剖性狀很一般化,有著相對較小的腦顱和面部,它們的行為在某些方面也更和人相像。因此,科學家們認為它們很接近於人類和非洲大猿的共同祖先。可以將它們作為人和猿的共同祖先的活樣板。

在70年代前期,人類學界一般認為,化石是人類起源的直接證據,是可靠的;而分子人類學研究所根據的是現生人類和猿類,是間接證據,是不可靠的。人類不是從現生的猿、而是從古猿進化來的;現生人類與現生猿類不是直系親屬,而是堂房兄弟的關系。因此,對分子人類學的結果不予置理。可是到70年代後期,特別是近幾年來,由於一方面分子人類學的研究結果有所改進,表示人和猿開始分離的時間比原先得出的要早一些;另一方面,人們對臘瑪古猿以及與之密切相關的西瓦古猿的化石有了更多的了解,從而使這一看法有所改變。例如,在非洲的肯亞,歐洲的匈牙利和希臘,亞洲的土耳其、印度、巴基斯坦和中國,都有這類化石發現,特別是在1980年底在中國雲南祿豐縣發現了臘瑪古猿的頭骨。臘瑪古猿,特別是西瓦古猿顯示出不少與現代猩猩相似的性狀,因此近幾年來,不少人類學家對臘瑪古猿以及西瓦古猿是否人科的最早成員以及它們是否在人的進化系統上,均表示了懷疑。相反地,他們認為,臘瑪古猿和西瓦古猿更可能是猩猩的早期祖先。如果確是這樣,那麼,人類起源的時間距今不到1000萬年,這與分子人類學得出的結果是相接近的。另外,人類起源的地點可能是在非洲。

然而,在近期又出現了一種相反的意見,認為現生大猿中與人最相近的不是非洲的黑猩猩,而是亞洲的猩猩。例如,美國匹茲堡大學的施瓦茨在1984年提出,人的懷孕期、內分泌類型、性行為以及十多種解剖性狀都更像猩猩而不像黑猩猩。這表示出人與猩猩是由一種共同的祖先遺傳下來的。

1983年底,肯亞國家博物館的理查德·利基和美國約翰·霍普金斯大學的沃克共同宣布,他們不久前在肯亞北部發現了大約1700萬年前的一種古猿的上、下頜骨,其形態與西瓦古猿和猩猩相似。他們認為,西瓦古猿的粗壯頜骨和釉質厚的臼齒與非洲大猿不同,而更像現代的猩猩和早期人科成員的南方古猿。於是,他們提出現生的猩猩不是一種很特化的猿類,而好比是一種活的化石。從它身上反映出人、猿共同祖先的許多性狀,因此可用來作為人和猿的共同祖先的活樣板。基於此,他們認為:西瓦古猿以及臘瑪古猿可能是所有大猿和人類的共同祖先。而在這之前,即1965年,當時美國耶魯大學的西蒙斯和皮爾比姆把龐雜的全部28屬50多種的森林古猿化石加以整理,分類為猿類和人類兩大類。

當時所有這些類型的化石代表只是上、下頜骨破片、牙齒和一些肢骨殘段。經他們復原後,認為一些古猿很像它們現生的後裔。盡管那時臘瑪古猿的標本只有十多件上下頜骨破片和一些單個牙齒,但也同樣認為它們很像人的形態,因為臘瑪古猿具有像人那樣的拋物線形的齒弓(即齒弓前部圓鈍,兩側向後逐漸張開),也有的像人而不是像猿那樣小的犬齒和臼齒。

據此在60年代末他們提出了一套理論,基本論點是:人和猿是在第三紀的中新世開始分化的。臘瑪古猿是最早的人科(人的分類系統)代表,而森林古猿屬里的幾個種則是各種現生猿類的祖先。他們認為過去的古猿也像現生的那樣,種類很少。現生的人猿科的種只有長臂猿、普通黑猩猩、矮小黑猩猩、大猩猩和猩猩,而我們的近親——猴子的現生種則有幾十個之多,各種古猿化石和現生的各種猿類或人類有著明顯的相似處,有著明顯的祖先和後裔的親緣關系。這些古猿在大約1000萬~1500萬年前,分布於亞洲大陸各地,化石最豐富的地區是印巴次大陸。另一組森林古猿年代較早,在大約2000萬年前生活在非洲,被認為是較晚的森林古猿各個種和臘瑪古猿的祖先。臘瑪古猿是大約1500萬年前由一種森林古猿演化而來的,以後再由臘瑪古猿演化成200萬年前的南方古猿,進一步再發展成現代人。

這個觀點60年代末在人類學界有很大影響,被世界人類學家廣泛接受。於是,此後不少科學家把臘瑪古猿看作人類的嫡系祖先。

如果以上這種看法是正確的,那麼,人類起源的時間至少在距今1700萬年以前或更早的時期;而人類起源的地點不僅有可能在非洲,也有可能在亞洲。

2. 求二叉樹中指定兩個結點的共同祖先

#include <stdio.h>
#define null 0

int counter=0;
typedef struct btreenode
{int data;
struct btreenode *lchild;
struct btreenode *rchild;
}bnode;

bnode *creat(int x,bnode *lbt,bnode *rbt) //生成一棵以x為結點,以lbt和rbt為左右子樹的二叉樹
{bnode *p;
p=(bnode*)malloc(sizeof(bnode));
p->data=x;
p->lchild=lbt;
p->rchild=rbt;
return(p);
}

bnode *ins_lchild(bnode *p, int x) //x作為左孩子插到二叉樹中
{bnode *q;
if(p==null)
printf("Illegal insert.");
else
{q=(bnode*)malloc(sizeof(bnode));
q->data=x;
q->lchild=null;
q->rchild=null;
if(p->lchild!=null) //若p有左孩子,則將原來的左孩子作為結點x的右孩子
q->rchild=p->lchild;
p->lchild=q;
}
return(p);
}

bnode *ins_rchild(bnode *p, int x) //x作為右孩子插入到二叉樹
{bnode *q;
if(p==null)
printf("Illegal insert.");
else
{q=(bnode*)malloc(sizeof(bnode));
q->data=x;
q->lchild=null;
q->rchild=null;
if(p->rchild!=null) //若x有右孩子,則將原來的右孩子作為結點x的的左孩子
q->lchild=p->rchild;
p->rchild=q;
}
return(p);
}

void prorder(bnode *p)
{if(p==null)
return;
printf("%d\t%u\t%d\t%u\t%u\n",++counter,p,p->data,p->lchild,p->rchild);
if(p->lchild!=null)
prorder(p->lchild);
if(p->rchild!=null)
prorder(p->rchild);
}

void print(bnode *p) //嵌套括弧表示二叉樹,輸出左子樹前列印左括弧,
{ //輸出右子樹後列印右括弧。
if(p!=null)
{printf("%d",p->data);
if(p->lchild!=null||p->rchild!=null)
{printf("(");
print(p->lchild);
if(p->rchild!=null)
printf(",");
print(p->rchild);
printf(")");
}
}
}

int FindLowestCommonAncestor(bnode *root, int value1, int value2)
{
bnode *curnode = root;
while(1)
{
if (curnode->data>value1&&curnode->data>value2)
curnode = curnode->lchild;
else if(curnode->data<value1&&curnode->data<value2)
curnode = curnode->rchild;
else
return curnode->data;
}
}

main()
{
bnode *bt,*p,*q;
int x,y,v1,v2;
printf("輸入根結點:");
scanf("%d",&x);
p=creat(x,null,null);
bt=p; //使bt p都指向根結點
printf("輸入新的結點值:");
scanf("%d",&x);
while(x!=-1)
{p=bt;
q=p;
while(x!=p->data&&q!=null) //q記錄當前根結點
{p=q;
if(x<p->data)
q=p->lchild;
else
q=p->rchild;
}
if(x==p->data)
{printf("元素%d已經插入二叉樹中!\n",x);
}
else
if(x<p->data) ins_lchild(p,x);
else ins_rchild(p,x);
scanf("%d",&x);
}
p=bt;
printf("struct of the binary tree:\n");
printf("number\taddress\tdata\tlchild\trchild\n");
prorder(p);
printf("\n");
printf("用括弧形式輸出二叉樹:");
print(p);

printf("\n請任意輸入樹中存在的兩個結點:");
scanf("%d,%d",&v1,&v2);
y = FindLowestCommonAncestor(p, v1, v2);
printf("輸出%d和%d的最低公共祖先:",v1,v2);
printf("%d\n",y);
}

3. 共同祖先是什麼意思

這是生物進化中常說的一個詞,意思就是有一個共同的起源。
地球上的生物,不管是動物植物還是微生物都有共同祖先,這是在生物體能找到依據的。那麼我們可以從哪些方面說明地球上的生物起源是相同的呢?
1、生物的遺傳物質是都是核酸:地球上目前存在的生物的遺傳物質都是核酸,其中具有細胞結構的生物的遺傳物質都是DNA,只有極個別的病毒的遺傳物質是RNA。而這些RNA病毒也起源於DNA為遺傳物質的生物,歸根到底,地球上最原始的生物的遺傳物質應該是DNA。在千萬年的進化過程中,生物的遺傳物質在遺傳的過程同時在朝不同方向變異。而不同的自然環境保留下了不同變異基因,才導致今天紛繁萬象的自然界。

2、地球上生物遺傳信息傳遞都遵循中心法則:DNA上遺傳信息通過復制傳到子細胞或子代生物體,並通過轉錄傳到RNA,RNA上信息通過翻譯通過翻譯指導蛋白質的合成。這些信息傳遞過程不管是在真核生物還是在原核生物都存在,如果生物不是具有共同起源,兩類生物不會這么巧合都遵循中心法則。

3、地球上生物遺傳信息傳遞過程都遵循鹼基互補配對原則。在生物界通用的中心法則中,都遵循鹼基互補配對,比如DNA復制時有A—T,G—C配對,在轉錄過程中,有A—T、A—U、G—C配對,在翻譯過程中mRNA上密碼子和tRNA反密碼子存在A—U、G—C配對。

4、地球上生物都公用同一套遺傳密碼子:生物體內RNA指導蛋白質合成,都是mRNA上三個相鄰鹼基決定一個氨基酸,故而生物有64種密碼子,而且不管是動物植物微生物,特定密碼子對應編碼的氨基酸都是相同的。終止密碼子都是UAA,UAG,UGA。這也充分說明了地球上生物油共同起源。

5、生物體有共同起源的其他證據:地球上生物有共同起源在別的方面我們也能找到一些證據。比如地球上的具有生命系統的細胞都具有生物膜系統(比如細胞膜),而且不管是原核細胞還是真核細胞的生物膜都是以磷脂雙分子層為基本骨架。

4. 二叉樹指定兩個結點共同的祖先

已知二叉收索樹上兩個結點的值,請找出它們的最低公共祖先。你可以假設這兩個值肯定存在。
int FindLowestCommonAncestor(node *root, int value1, int value2)
{
int larger, smaller;
larger = (value1 > value2)? value1:value2;
smaller = (value1 > value2)? value2:value1;
node *curNode = root;
node *curFather = root;

while(curNode){
if(curNode->data == larger || curNode->data == smaller)
return curFather->data;
else if(curNode->data > larger){
curFather = curNode;
curNode = curNode->left;
}
else if(curNode->data < smaller){
curFather = curNode;
curNode = curNode->right;
}
else return curNode->data;
}
}//
/
/
/
/
/
/
C語言實現:

/*二叉排序樹的生成及樹,任意兩結點的最低公共祖先 Amirural設計*/
#include <stdio.h>
#define null 0

int counter=0;
typedef struct btreenode
{int data;
struct btreenode *lchild;
struct btreenode *rchild;
}bnode;

bnode *creat(int x,bnode *lbt,bnode *rbt) //生成一棵以x為結點,以lbt和rbt為左右子樹的二叉樹
{bnode *p;
p=(bnode*)malloc(sizeof(bnode));
p->data=x;
p->lchild=lbt;
p->rchild=rbt;
return(p);
}

bnode *ins_lchild(bnode *p, int x) //x作為左孩子插到二叉樹中
{bnode *q;
if(p==null)
printf("Illegal insert.");
else
{q=(bnode*)malloc(sizeof(bnode));
q->data=x;
q->lchild=null;
q->rchild=null;
if(p->lchild!=null) //若p有左孩子,則將原來的左孩子作為結點x的右孩子
q->rchild=p->lchild;
p->lchild=q;
}
return(p);
}

bnode *ins_rchild(bnode *p, int x) //x作為右孩子插入到二叉樹
{bnode *q;
if(p==null)
printf("Illegal insert.");
else
{q=(bnode*)malloc(sizeof(bnode));
q->data=x;
q->lchild=null;
q->rchild=null;
if(p->rchild!=null) //若x有右孩子,則將原來的右孩子作為結點x的的左孩子
q->lchild=p->rchild;
p->rchild=q;
}
return(p);
}

void prorder(bnode *p)
{if(p==null)
return;
printf("%d\t%u\t%d\t%u\t%u\n",++counter,p,p->data,p->lchild,p->rchild);
if(p->lchild!=null)
prorder(p->lchild);
if(p->rchild!=null)
prorder(p->rchild);
}

void print(bnode *p) //嵌套括弧表示二叉樹,輸出左子樹前列印左括弧,
{ //輸出右子樹後列印右括弧。
if(p!=null)
{printf("%d",p->data);
if(p->lchild!=null||p->rchild!=null)
{printf("(");
print(p->lchild);
if(p->rchild!=null)
printf(",");
print(p->rchild);
printf(")");
}
}
}

int FindLowestCommonAncestor(bnode *root, int value1, int value2)
{
bnode *curnode = root;
while(1)
{
if (curnode->data>value1&&curnode->data>value2)
curnode = curnode->lchild;
else if(curnode->data<value1&&curnode->data<value2)
curnode = curnode->rchild;
else
return curnode->data;
}
}

main()
{
bnode *bt,*p,*q;
int x,y,v1,v2;
printf("輸入根結點:");
scanf("%d",&x);
p=creat(x,null,null);
bt=p; //使bt p都指向根結點
printf("輸入新的結點值:");
scanf("%d",&x);
while(x!=-1)
{p=bt;
q=p;
while(x!=p->data&&q!=null) //q記錄當前根結點
{p=q;
if(x<p->data)
q=p->lchild;
else
q=p->rchild;
}
if(x==p->data)
{printf("元素%d已經插入二叉樹中!\n",x);
}
else
if(x<p->data) ins_lchild(p,x);
else ins_rchild(p,x);
scanf("%d",&x);
}
p=bt;
printf("struct of the binary tree:\n");
printf("number\taddress\tdata\tlchild\trchild\n");
prorder(p);
printf("\n");
printf("用括弧形式輸出二叉樹:");
print(p);

printf("\n請任意輸入樹中存在的兩個結點:");
scanf("%d,%d",&v1,&v2);
y = FindLowestCommonAncestor(p, v1, v2);
printf("輸出%d和%d的最低公共祖先:",v1,v2);
printf("%d\n",y);
}

運行結果:
輸入根結點:20
輸入新的結點值:8 22 4 12 10 14 -1 (以-1結束結點的輸入)
struct of the binary tree:
number addresss data lchild rchild
1 4391168 20 4391104 4391040
2 4391104 8 4390976 4399072
3 4390976 4 0 0
4 4399072 12 4399008 4398944
5 4399008 10 0 0
6 4398644 14 0 0
7 4391040 22 0 0
用括弧形式輸出:20(8(4,12(10,14)),22) (輸出左子樹列印左括弧,輸出右子樹後列印括弧)
請任意輸入樹中存在的兩個結點:4,14
輸出4和14的最低祖先:8

5. 現代類人袁和人類的共同祖先答案

人是上帝造的。這個可以肯定。以進化論為首的異端邪說拚命想否定這一事實。於是上演了一幕幕認豬作父、認猴作父(所謂北京人,無非是幾個人在山洞裡鑿猴腦吃)的鬧劇……
進化論者說,宇宙源於大爆炸,沒有緣故的大爆炸,所有物質集合在一個點里,不斷旋轉,突然爆炸,天哪!只是我想問問,既然物質是在一個點里旋轉,那麼因為慣性爆炸後它們應該以相同的方向自轉,可為什麼已知的行星里有80多個是反方向自轉呢?為什麼?因為上帝早已知道會有這么愚蠢的人,故意留下證據諷刺他們。
同時,物質從何而來?能量從何而來?熱力學第一定律告訴我們,自然界不能創造、也不能消滅能量。那隻有一個答案:有一位超自然的創造者。
用高倍顯微鏡觀察一個細胞,看看裡面成千上萬的組織有條不紊的工作,您能相信這是偶然進化來的?進化論用氮14-碳14衰變法測算化石的年齡,他們從來不敢說這種測算方法的前提:1,動物死的的時候就完全不存在C14;2,至少地球磁場不能改變(事實上,過去150年地球磁場就減弱了10%);3,外界環境不能有任何改變。事實上,明眼人一看就知道這些條件哪怕一個都不可能滿足,況且氮14衰變到碳14的周期僅僅是5720年,他們是怎麼測出幾百萬年的?其實他們為何要從化石做文章,因為死無對證啊。難道活著的植物測算不出年齡嗎?當然能。也有過測算,但進化論者隻字不提,因為地球現存活著的植物,有1000年的,2000年的,4000年的,就是沒有超過4500年的,因為那之前有一場大洪水。
還有,進化論者說地球的年齡是46億年,或更多。我們今天都知道地球自轉速度在逐漸變慢,最保守的演算法每10年慢一秒,聖經說地球只有6000多歲,這當然沒問題,但如果您相信地球有46億年,那麼算一下46億年前的自轉速度吧,沒錯,負數!
進化論所謂的化石,沒有一具是介乎兩個物種之間的化石,這是他們的致命傷。以前他們將始祖鳥奉為至寶,直到近些年人們發現活著的翼端有爪、嘴裡有牙的鳥以後,他們便銷聲匿跡了,以至於今天他們再也不敢大肆宣揚他們的化石證據了。他們把物種之間的進化解釋為基因突變,但他們窮盡所能的試驗最終證明,基因突變只能給生物帶來災難。他們荒謬的推理假說實在沒有必要再羅列下去了……
不妨看看上帝借聖經告訴我們什麼:4000多年前,上帝對約伯說:」你能發出閃電,叫它行去,使它對你說:『我們在這里』?」直到19世紀一個叫富蘭克林的不要命的科學家捕捉到了閃電,200多年後的今天,我們發簡訊、打電話的時候才曉得上帝的奇妙。2700年前,上帝皆先知以賽亞的口告訴人們地球是圓的:「神坐在地球大圈之上」;3000多年前大衛王的詩歌里就告訴人們空氣有重量:「下流人真是虛空,上流人也是虛假;放在天平里就必浮起,他們一共比空氣還輕」,直到3000年後科學發現了分子,才追趕上這一處聖經的腳步;挪亞大洪水的時候,聖經記載:大淵的泉源都裂開了,科學家直到1977年才在海底發現有泉源…………
關於考古,不得不說聖經里的預言。以賽亞提前150年准確預言波斯王居魯士,不信的人曾毀謗說這預言是人為後補的,直到《死海古卷》的出土就都啞口無言;再看看以西結預言推羅的下場,居然一字不差。這樣一本聖經,我找不出理由不相信它而去相信進化論。
比較一下就知道,什麼是真理,什麼是愚妄。

6. 】試編寫演算法,求二叉樹T中結點a和b的最近共同祖先。

後序遍歷即可,在訪問結點的時候判定A和B是否都被訪問了即可。
bool getCommonParent(TreeNode *root, TreeNode *A, TreeNode *B, TreeNode **p)
{
if (root == NULL)
return false;

bool leftHasAorB = getCommonParent(root->left, A, B, p);
bool rightHasAorB = getCommonParent(root->right, A, B, p);
if ((leftHasAorB && rightHasAorB) ||
((leftHasAorB || rightHasAorB) && (root == A || root == B)))
*p = root;

if (leftHasAorB || rightHasAorB)
return true;

if (root == A || root == B)
return true;

return false;
}

7. 基因測序人類共同祖先

親緣關系越近,遺傳物質的相似程度越高.
A、黑猩猩與人類在基因上的相似程度達到96%以上,只能表明人類和黑猩猩的較近的親緣關系,不能表明共同祖先是森林古猿.故該選項不符合題意;
B、人類和黑猩猩都是由森林古猿經過漫長的年代進化而來的,人類不是由黑猩猩進化而來的.故該選項不符合題意;
C、黑猩猩與人類在基因上的相似程度達到96%以上.表明人類和黑猩猩有較近的親緣關系,有共同的祖先.故該選項符合題意;
D、黑猩猩與人類非同類生物,不能表明生物具有遺傳和變異的特性.故該選項不符合題意.
故選:C.

8. 如何計算兩個物種的最近共同祖先

主要體現幾面:
1.物類證據
直觀顯示各物類關系類家直嘗試畫關系圖表關系圖畫越、越細支越棵樹我看棵樹知道由樹根斷、支;我看株類樹自應該想物都同祖先傳斷進化形各物種
2.比較解剖證據
貝倫發現鳥盡管外形極相同骨骼組卻非相似說明鳥親戚都祖先代外脊椎物前肢比手、馬蹄、鯨魚鰭等外形相差功能相同骨架卻相似解釋:自同祖先由於適應環境需要改變外形功能實際骨架卻沒改變
3.比較胚胎證據
魚、青蛙、雞、豬、兔各期胚胎放起我發現存同程度相似性且關系越密切相似程度越高說明些物自共同祖先祖先特徵胚胎發育程重演
4.比較免疫證據
每種物血清都系類獨特蛋白質若兩種物親緣關系越接近則抗原——抗體反應越強反則越弱利用種與古物化石或形態比較繪親緣關系樹符合更加證明物自共同祖先
5.物證據
① 所物都由細胞組(病毒除外);② 組物核酸、蛋白質、糖、脂類四種些物所物都致:核酸都由嘌呤嘧啶組蛋白質都由氨基酸組糖都由單糖組脂類則由甘油脂肪酸組; ③所物都用20種氨基酸幾乎所物都共享套遺傳密碼

9. 生物學中哪些實例支持生命的共同祖先假說

主要體現在以下幾個方面:
1.生物分類學的證據
為了直觀顯示各生物在分類上的關系,分類學家一直在嘗試畫出關系圖表。關系圖畫得越多、越細,分支也就越多,最後就成為一棵樹。我們看到一棵樹,就知道它是由樹根長出,不斷生長、分支的;我們看到一株分類樹,很自然就應該想到生物都是從同一祖先傳下來,不斷地進化,形成各個物種的。
2.比較解剖學的證據
貝倫發現人和鳥盡管在外形上極不相同,但骨骼組成卻非常相似。這說明人和鳥是親戚,都是一個祖先的後代。此外,脊椎動物的前肢,比如人的手、馬蹄、鯨魚的鰭等,它們的外形相差很大,功能也不相同,但它們的骨架卻是如此的相似。對此最好的解釋就是:他們來自同一祖先,由於適應環境的需要,改變了外形和功能,但實際的骨架卻沒有改變。
3.比較胚胎學的證據
如果把魚、青蛙、雞、豬、兔和人的各個時期的胚胎放在一起,我們就會發現它們存在不同程度的相似性。而且關系越密切,相似的程度越高。這說明這些生物來自共同的祖先,它們祖先的特徵在胚胎發育過程中重演了。
4.比較免疫學的證據
每種動物的血清中都有一系類獨特的蛋白質,若兩種動物的親緣關系越接近,則抗原——抗體反應就越強,反之則越弱。利用這種方法與古生物化石或形態比較繪出的親緣關系樹符合得很好,這也更加證明了生物來自共同的祖先。
5.分子生物學的證據
① 所有的生物都是由細胞組成的(病毒除外);② 組成生物的大分子有核酸、蛋白質、多糖、和脂類四種,這些生物大分子的成分在所有生物中都是一致的:核酸都是由嘌呤和嘧啶組成,蛋白質都是由氨基酸組成,多糖都由單糖組成,脂類則是由甘油和脂肪酸組成; ③所有的生物都只用20種氨基酸,幾乎所有的生物都共享一套遺傳密碼。

10. 已知a是一棵順序存儲的完全二叉樹,如何求出a和a的最近的共同祖先

(a+1)(a+2)(a+3)(a+4)+M
= [(a+1)(a+4)]*[(a+2)(a+3)]+M
=(a²+5a+4)(a²+5a+6)+M
=[(a²+5a+5)-1]*[(a²+5a+5)+1]+M
=(a²+5a+5)²-1+M
且題目要求是完全平方式,
所以M-1=0
M=1

熱點內容
演算法活結點 發布:2024-11-09 04:48:28 瀏覽:687
紀念父母的視頻腳本怎麼寫 發布:2024-11-09 04:43:38 瀏覽:783
新寶塔初始密碼是多少 發布:2024-11-09 04:18:52 瀏覽:444
smb協議ftp協議 發布:2024-11-09 04:07:24 瀏覽:225
sublimetext3隻編譯不顯示結果 發布:2024-11-09 04:01:37 瀏覽:963
java方法的修飾符 發布:2024-11-09 04:00:52 瀏覽:358
垂直式垃圾壓縮 發布:2024-11-09 03:56:41 瀏覽:385
科研如何編程 發布:2024-11-09 03:49:15 瀏覽:306
c語言debug怎麼用 發布:2024-11-09 03:49:13 瀏覽:526
越野車上什麼配置好 發布:2024-11-09 03:49:05 瀏覽:768