我試圖在我的一個學術項目中使用GNU libavl
(http://adtinfo.org/)。我需要一個關於如何使用庫提供的BST(二叉搜索樹)實現的簡單教程。我需要做的是根據值使用BST排序(鍵,值)對(大約30000個字符串和頻率)。雖然這個庫是有據可查的,但它並沒有給我的問題提供任何直接的前言,我沒有時間閱讀所有的文檔和測試代碼。我想知道是否有更快的方法來進行分類。如何使用libavl?
4
A
回答
3
你試過這個嗎?
https://github.com/yapbreak/avl/blob/master/example/example.c
段:
int main(int argc, char **argv)
{
tree *avl_tree = NULL;
struct data tmp;
unsigned result;
(void) argc;
(void) argv;
// Initialize a new tree with our three previously defined
// functions to store data structure.
avl_tree = init_dictionnary(data_cmp, data_print, data_delete, data_copy);
tmp.key = 42;
tmp.value = 4242;
// Add element {42, 4242} in our tree.
result = insert_elmt(avl_tree, &tmp, sizeof(struct data));
0
接受的答案是錯誤的,因爲它指向一個不同的庫,而不是GNU libavl。它也不回答原來的詢問。
我需要一個很簡單的教程
我不知道有關這個庫的任何教程。你也可以這樣說:
我沒有時間閱讀槽的所有文檔和測試代碼。
雖然沒有更好的選擇,但我認爲閱讀測試對於有興趣瞭解GNU libavl的人來說是最好的建議。此外,接受的答案甚至更進一步與我即將撰寫的內容相關。
GNU libavl包含可以作爲使用示例讀取的測試。但由於該庫是用TexiWEB語言編寫的,爲了獲得C源代碼,您必須先編譯原始源代碼。
克隆的源代碼:
$ git clone git://git.savannah.gnu.org/avl.git
然後avl
目錄內運行:
$ make programs
編譯之後,你會看到C源代碼和編譯的二進制文件。
現在你可以閱讀測試,並從那裏找出如何使用庫。測試源有-test.c
後綴。例如AVL樹的測試位於avl-test.c
文件中。
另請注意,GNU libavl並不打算用作共享庫,因此您必須將C源文件包含到您的項目中。
相關問題
- 1. 如何使用使用Response.Transmit()
- 2. 如何使用使用AJAX
- 3. 如何使用,使用R
- 4. 如何使用使用PowerShell
- 5. 如何使用
- 6. 如何使用
- 7. 如何使用
- 8. 如何使用
- 9. 如何使用
- 10. 如何使用
- 11. 如何使用
- 12. 如何使用
- 13. 如何使用
- 14. 如何使用
- 15. 如何使用
- 16. 如何使用
- 17. 如何使用
- 18. 如何使用
- 19. 如何使用
- 20. 如何使用
- 21. 如何使用 「%」
- 22. 如何使用
- 23. 如何使用
- 24. 如何使用
- 25. 如何使用
- 26. 如何使用
- 27. 如何使用
- 28. 如何使用
- 29. 如何使用
- 30. 如何使用
我打算接受這個答案,儘管對此的期望很長。 :D – Madushan
@Madushan你甚至看過這個例子嗎?它不僅僅只包含一個例子(僅使用AVL樹,而不是GNU libavl提供的任何其他類型的二叉樹),但我甚至不能說出這個github項目與GNU項目有何關係! – Michael
答案中的鏈接不起作用。存儲庫名稱已更改爲'avl',因此現在正確的鏈接將是:https://github.com/yapbreak/avl/blob/master/example/example.c – senya