二叉樹排序總結

2021-09-24 09:52:05 字數 620 閱讀 6822

//快速排序,去基準值,左同時向中間靠攏

//左邊遇到大的停止,右邊遇到小的停止

//交換大小數的位置,兩個指標到同一位置時,與基準值交換

//最終結果是小…基準值…大

#include #include //基準值的取法隨意時,容易造成時間複雜度很高的情況

//三數取中法:取三個數,左端右端,中間,選擇大小處於中間的數作為基準值

int getmiddleindex(int *array,int left,int right)

else

}//快排方法1

int partion1(int *array,int left,int right)

}

//用遞迴的方式快速排序

void quicksort(int*array,int left,int right)

}//空間複雜度o(nlogn) n為遞迴深度

//用迴圈的方式快速排序–用到棧

#include "stack.h"

void quicksortnor(int *array,int size)

}}

二叉樹,排序二叉樹

說到二叉樹,這可是資料結構裡面的非常重要的一種資料結構,二叉樹是樹的一種,本身具有遞迴性質,所以基於二叉樹的一些演算法很容易用遞迴演算法去實現。作為一種非線性結構,比起線性結構還是相對複雜的,很多人甚至看不懂演算法的意思,不能理解。其實一開始接觸這些東西還是挺暈的,不過你多看幾遍,上機實現可能你就會...

排序二叉樹or搜尋二叉樹or查詢二叉樹

排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...

排序二叉樹or搜尋二叉樹or查詢二叉樹

排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...