面試題(25) 資料結構(5) 構造乙個哈夫曼樹

2021-10-09 01:49:44 字數 1102 閱讀 8131

c++面試題系列:樹和二叉樹

牛客網-c++校招面試題系列 141

給定乙個數字陣列,返回哈夫曼樹的頭指標

**:

// 141_建立哈夫曼樹.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include using namespace std;

//定義乙個資料型別別名

typedef int elemtype;

//定義二叉樹結構

typedef struct btreenode

btreenode;

//建立哈夫曼樹

btreenode* createhuffman(elemtype a, int n)

for (i = 1; i < n; i++)

if (b[j] != nullptr)

}cout << "***********1**************" << endl;

for (j = k2; j < n; j++)

else if (b[j]->data < b[k2]->data)}}

cout << "****建立節點****" << endl;

q = (btreenode*)malloc(sizeof(btreenode));

q->data = b[k1]->data + b[k2]->data;

q->left = b[k1];

q->right = b[k2];

cout << "q->data:" << q->data << ";b[k1]->data" << b[k1]->data << ";b[k2]->data" << b[k2]->data << endl;

b[k1] = q;

b[k2] = nullptr;

}free(b);

return q;

}int main()

; createhuffman(a, 4);

return 0;

}

輸出:

資料結構 面試題

python實現 寫個大概,import re def quick sort alist,first,last if first last return mid value alist first low first high last while low high while low mid va...

資料結構 面試題

2.棧2.2使用棧計算字尾表示式 2.3對棧的元素進行排序 2.4判斷表示式是否括號平衡 3.佇列 4.鍊錶 5.樹6.圖 7.字典樹 這是一種高效的樹形結構,但值得單獨說明 8.雜湊表 雜湊表 1.1 尋找陣列中第二小的元素 思路 公升序排序之後,輸出第二個數字 1.2 找到陣列中第乙個不重複出現...

乙個面試題

題目是 假設乙個 搜尋引擎收錄了2 24首歌曲,並記錄了可收聽這些歌曲的2 30條url,但每首歌的url不超過2 10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song id和url id唯一確定。對該系統有如下需求 1 通過song ...