中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

運用asp做購物網(wǎng)站的心得google瀏覽器官方下載

運用asp做購物網(wǎng)站的心得,google瀏覽器官方下載,免費二級域名申請,網(wǎng)站在線客服平臺免費目錄 1.什么是遞歸 1.1二叉樹的遍歷 1.2快速排序 1.3歸并排序 2.為什么會用到遞歸 3.如何理解遞歸 4.如何寫好一個遞歸 5.什么是搜索 5.1深度(dfs)優(yōu)先遍歷&優(yōu)先搜索 5.2寬度(bfs)優(yōu)先遍歷&優(yōu)先搜索 6.回溯 1.什…

目錄

1.什么是遞歸

1.1二叉樹的遍歷

1.2快速排序

1.3歸并排序

2.為什么會用到遞歸

3.如何理解遞歸

4.如何寫好一個遞歸

5.什么是搜索

5.1深度(dfs)優(yōu)先遍歷&優(yōu)先搜索

5.2寬度(bfs)優(yōu)先遍歷&優(yōu)先搜索

6.回溯


1.什么是遞歸

我們呢下面介紹一下遞歸的幾個使用的場景,這個里面不會介紹像這個斐波那契數(shù)列那樣的遞歸(就是數(shù)學(xué)函數(shù),很容易理解),我們就拿數(shù)據(jù)結(jié)構(gòu)里面的排序算法和二叉樹的遍歷作為例子熟悉一下這個過程

1.1二叉樹的遍歷

我們這個地方是以后序遍歷作為例子。對于一個二叉樹而言,這個后序遍歷的時候我們先遍歷根節(jié)點的左子樹,再去遍歷根節(jié)點的右子樹。最后遍歷這個根節(jié)點;

在遍歷左子樹的時候,我們要先遍歷這個左子樹的根節(jié)點的左子樹,再去遍歷這個左子樹根節(jié)點的右子樹,以此類推,對于任何一個子樹,我們都會先遍歷這個根節(jié)點的左子樹,再去遍歷這個根節(jié)點的右子樹;

1.2快速排序

快速排序和下面介紹的這個歸并排序?qū)τ诔鯇W(xué)者而言很相似(我就是這個感覺),但是兩個排序算法還是有很多的差異的;

快速排序之所以敢這么叫這個名字,自身的這個時間消耗上面肯定是可以的,它是有使用價值的,并不想其他的一些排序算法只有教學(xué)意義,沒有實踐意義;

快排需要先確定一個基準元素,把小于這個元素的放到左邊,大于這個元素的放到右邊,分別對于這個左邊的和右邊的進行排序,還是選擇基準元素,按照上面的方法進行下去;

1.3歸并排序

歸并排序就和上面的快速排序有點不同了,因為歸并排序是直接從中間分開,然后再把這個自己左右分開,直到分成一個一個的元素,最后把這個元素有序的組合起來即可;

下面的這個就是歸并排序的過程展示:就是分開之后合并的過程,這個合并的時候我們是使用的雙指針的方法合并的(通過指針的移動);

2.為什么會用到遞歸

我們在解決一個問題的時候,把這個問題分解為諸多的子問題,可以使用一個方法解決這個主問題,但是解決子問題的時候同樣可以使用這個方法解決;

3.如何理解遞歸

3.1遞歸展開細節(jié)圖:這個是初學(xué)的時候,老師經(jīng)常搞的一種方法,但是這個并不一定會簡化我們對于這個遞歸問題的理解;

3.2二叉樹的題目:我們在二叉樹學(xué)習(xí)的時候,尤其是涉及到這個二叉樹的遍歷,因為二叉樹的遍歷里面遍歷任何一個子樹的方法都是一樣的,他們都是若干個子問題,我們就可以直接使用遞歸解決這個問題;

3.3宏觀看待遞歸過程:我們跳出上面的遞歸細節(jié)展開圖,找準子問題,只需要關(guān)注一個問題的實現(xiàn),再去套用這個方法解決其他的問題;

下面我們按照這個思路簡單的寫一下dfs(深度遍歷)和歸并的偽代碼:

我們沒有實現(xiàn),但是我們先把這個root->left作為函數(shù)的參數(shù),root->right作為函數(shù)的參數(shù),最后判斷這個結(jié)束條件(到達葉子結(jié)點就結(jié)束);

void dfs(treenode* root)
{//結(jié)束條件:遇到葉子結(jié)點if (root == NULL){return;}dfs(root->left);dfs(root->right);printf("%d", root->val);
}

我們先計算這個mid值大小,再把這個mid作為參數(shù)傳遞進去,分別傳遞這個左邊區(qū)間,和右邊區(qū)間,使用這個函數(shù)進行排序,最后合并兩個有序數(shù)組,結(jié)束條件就是left>=right,結(jié)束遞歸的過程;

void merge(int* nums, int left, int right)
{//遞歸結(jié)束的出口if (left >= right){return;}int mid = (left + right) / 2;merge(nums, left, mid);merge(nums, mid + 1,right);//合并兩個有序數(shù)組
}

4.如何寫好一個遞歸

4.1函數(shù)頭的書寫:找到一個主問題里面的字問題,看看是否可以使用相同的方法解決子問題;

4.2函數(shù)體的書寫:只關(guān)注某一個子問題,來進行函數(shù)體的實現(xiàn);

4.3結(jié)束條件:找這個遞歸的出口,作為結(jié)束遞歸的條件;

5.什么是搜索

5.1深度(dfs)優(yōu)先遍歷&優(yōu)先搜索

深度就是一條路走到盡頭之后再去折返回去,這個里面遍歷只是過程的一種形式,搜索才是真正想要達到的目的;

5.2寬度(bfs)優(yōu)先遍歷&優(yōu)先搜索

寬度就是你一層一層的進行,按照這個二叉樹的層狀結(jié)構(gòu)進行遍歷,這一層結(jié)束之后進行下一層;

6.回溯

回溯就是深度搜索,我們可以舉例一下這個走迷宮的問題幫助我們理解一下,當(dāng)我們走到一個迷宮的某一個節(jié)點的時候,我們有多個選擇,我們肯定是只能走其中的一條,這個時候,我們認準一條路并且總下去,這個時候,我們發(fā)現(xiàn)走到了死胡同,這個時候我們就需要則返回那個岔路口,這個從現(xiàn)在所在位置返回到剛剛做選擇的岔路口就是一個回溯的過程,因此我們說這個回溯和深度搜索沒有什么本質(zhì)的區(qū)別,都是一條路走到黑再去選擇另外的一條路,僅此而已。

http://www.risenshineclean.com/news/64122.html

相關(guān)文章:

  • 淘客網(wǎng)站+wordpress上海百度seo優(yōu)化
  • 網(wǎng)站應(yīng)該如何進行優(yōu)化網(wǎng)絡(luò)營銷分類
  • 做網(wǎng)站建網(wǎng)站安卓手機游戲優(yōu)化器
  • 河南企業(yè)網(wǎng)站制作個人怎么做網(wǎng)站
  • 中國域名注冊中心做博客的seo技巧
  • 上海專業(yè)制作電子商務(wù)網(wǎng)站廣西seo公司
  • 做字的網(wǎng)站個人友情鏈接推廣
  • wordpress編輯器 模板seopeixun com cn
  • 動態(tài)網(wǎng)站開發(fā) 實訓(xùn)總結(jié)環(huán)球貿(mào)易網(wǎng)
  • 解除網(wǎng)站被攔截的方法快手流量推廣免費網(wǎng)站
  • 合肥建網(wǎng)站公司騰訊與中國聯(lián)通
  • 各大網(wǎng)站提交入口怎么聯(lián)系地推公司
  • 西安火車站網(wǎng)站建設(shè)安卓優(yōu)化大師官方下載
  • 頂級裝修公司百度小程序優(yōu)化
  • 莆田網(wǎng)站建設(shè)技術(shù)托管南陽網(wǎng)站seo
  • 開發(fā)公司屬于什么行業(yè)網(wǎng)站優(yōu)化 seo和sem
  • 中國專業(yè)的網(wǎng)站建設(shè)12月10日新聞
  • 義烏多語言網(wǎng)站建設(shè)seo網(wǎng)絡(luò)推廣技術(shù)
  • 做五金生意什么網(wǎng)站做比較好精準營銷的三要素
  • 網(wǎng)站首頁的模塊布局杭州百度快速排名提升
  • 做競猜網(wǎng)站合法嗎如何快速提升網(wǎng)站關(guān)鍵詞排名
  • 哪個平臺查企業(yè)免費谷歌aso優(yōu)化
  • 專業(yè)做網(wǎng)站公司哪家好一句簡短走心文案
  • 個人做理財網(wǎng)站好上海seo關(guān)鍵詞優(yōu)化
  • ppt中仿網(wǎng)站鏈接怎么做b站引流推廣網(wǎng)站
  • 做網(wǎng)站的步驟流程seo外包杭州
  • 網(wǎng)站建設(shè)全套流程廣州seo全網(wǎng)營銷
  • 網(wǎng)站建設(shè)中的咨詢服務(wù)北京網(wǎng)絡(luò)推廣
  • 網(wǎng)站建設(shè)色系搭配種子資源
  • 長沙畢業(yè)設(shè)計代做網(wǎng)站價格網(wǎng)域名查詢地址