国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

求先序排列

這篇具有很好參考價值的文章主要介紹了求先序排列。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

鏈接:登錄—專業(yè)IT筆試面試備考平臺_??途W(wǎng)

來源:??途W(wǎng) ?

題目描述

給出一棵二叉樹的中序與后序排列。求出它的先序排列。(約定樹結(jié)點用不同的大寫字母表示,長度 ≤ 8)。

輸入描述:

2行,均為大寫字母組成的字符串,表示一棵二叉樹的中序與后序排列。

輸出描述:

1行,表示一棵二叉樹的先序。

示例1

輸入

復(fù)制BADC BDCA

BADC
BDCA

輸出

復(fù)制ABCD

ABCD

思路和題解

二叉樹的定義是遞歸定義,很多二叉樹題目的解決方法也可以是遞歸。二叉樹的中序遍歷是左->根->右,后序遍歷是左->右->根,先序遍歷是根->左->右。我們可以按照下面的步驟來解決問題。

1、如果一個樹是空樹,則退出。

2、輸出二叉樹的根,在中序排列中找到二叉樹根的位置pos,即后序排列的最后一個字符在中序排列里的位置。在中序排列中pos的左邊(假設(shè)字符個數(shù)為x)為左子樹的中序排列,pos右邊(假設(shè)字符個數(shù)為y)為右子樹的中序排列。在后續(xù)排列中前x個字符組成的子串為左子樹的后序排列,緊接著后面的y個字符組成的子串為右子樹的后序排列。

3、對左子樹的中序排列后續(xù)排列做步驟2

4、對右子樹的中序排列和后續(xù)排列做步驟2文章來源地址http://www.zghlxwxcb.cn/news/detail-743146.html

代碼:

#include<iostream>
#include<cstring>
using namespace std;
string zhong,hou;
void f(int l1,int r1,int l2,int r2)
{
    int pos=-1;
    if(l1>r1) return ;
    //找根節(jié)點在中序序列中的位置
    for(int i=l1;i<=r1;i++)
        if(zhong[i]==hou[r2])
        {pos=i;break;}
    cout<<hou[r2];
    f(l1,pos-1,l2,l2+(pos-1-l1));
    f(pos+1,r1,l2+(pos-1-l1)+1,r2-1);
}
int main()
{
    cin>>zhong>>hou;
    int len=zhong.length();
    f(0,len-1,0,len-1);
}

到了這里,關(guān)于求先序排列的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)學(xué)建模比賽題型劃分、常用算法及其適用場景

    數(shù)學(xué)建模比賽題型劃分、常用算法及其適用場景

    題型劃分、常用算法及其適用場景 常見賽題類型 優(yōu)化類 機理分析類 評價類 預(yù)測類 算法體系分類 數(shù)據(jù)處理模型 優(yōu)化模型 預(yù)測模型 評價模型 聚類分析模型 常用算法分類 數(shù)據(jù)預(yù)處理模型及應(yīng)用場景 1.插值擬合 主要用于對數(shù)據(jù)的補全處理; 其中 樣本點較少時 (泛指樣本點小

    2024年02月10日
    瀏覽(20)
  • 【算法】——全排列算法講解

    【算法】——全排列算法講解

    前言: 今天,我給大家講解的是關(guān)于全排列算。我會從三個方面去進行展開: 首先,我會給大家分析關(guān)于全排列算法的思想和定義; 緊接著通過手動實現(xiàn)出一個全排列代碼來帶大家見見是怎么實現(xiàn)的; 最后我會給出兩道題幫助大家去進行理解記憶。 目錄 前情摘要 (一)定

    2024年02月09日
    瀏覽(20)
  • 算法刷題Day 29 遞增子序列+全排列+全排列II

    如果直接像下面這樣寫的話,會出錯,出錯的案例類似: [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9nrEEc2S-1688623883770)(LC491-遞增子序列+LC.assets/image-20230703201315163.png)] 本題求自增子序列,是不能對原數(shù)組進行排序的,排完序的數(shù)組都是自增子

    2024年02月15日
    瀏覽(22)
  • 力扣--深度優(yōu)先算法/回溯算法47.全排列 Ⅱ

    力扣--深度優(yōu)先算法/回溯算法47.全排列 Ⅱ

    思路分析: 使用DFS算法進行全排列,遞歸地嘗試每個可能的排列方式。 使用 path 向量保存當(dāng)前正在生成的排列,當(dāng)其大小達到輸入數(shù)組的大小時,將其加入結(jié)果集。 使用 numvisited 向量標(biāo)記每個數(shù)字是否已經(jīng)被訪問過,以確保每個數(shù)字在一個排列中只使用一次。 在遞歸過程中

    2024年03月13日
    瀏覽(25)
  • 貪心算法:排列算式

    貪心算法:排列算式

    給出n數(shù)字,對于這些數(shù)字是否存在一種計算順序,使得計算過程中數(shù)字不會超過3也不會小于0?

    2024年04月12日
    瀏覽(19)
  • 遞歸算法學(xué)習(xí)——全排列

    遞歸算法學(xué)習(xí)——全排列

    目錄 ?編輯 一,問題描述 1.例子: 題目接口: ?二,問題分析和解決 1.問題分析 2.解題代碼 首先我們得來先看看全排列的問題描述。全排列問題的問題描述如下: 給定一個不含重復(fù)數(shù)字的數(shù)組? nums ?,返回其? 所有可能的全排列 ?。你可以? 按任意順序 ?返回答案。 1.例

    2024年02月11日
    瀏覽(24)
  • 回溯算法篇-01:全排列

    回溯算法篇-01:全排列

    這道題屬于上一篇——“回溯算法解題框架與思路”中的 “元素不重復(fù)不可復(fù)用” 那一類中的 排列類問題。 我們來回顧一下當(dāng)時是怎么說的: 排列和組合的區(qū)別在于,排列對“順序”有要求。比如 [1,2] 和 [2,1] 是兩個不同的結(jié)果。 這就導(dǎo)致了同一個元素 在同一條路徑中不

    2024年01月20日
    瀏覽(25)
  • 算法--排列組合

    2024年02月16日
    瀏覽(19)
  • java實現(xiàn)排列組合算法

    我這里只寫了組合的算法。 ????????假設(shè)現(xiàn)有 M=4?個數(shù)據(jù) a,b,c,d。從中隨機抽取n個數(shù),n為1—4個數(shù)據(jù)進行組合。那么數(shù)學(xué)中的計算組合方式為C(4,1) + C(4,2) + C(4,3) +?C(4,4)? = 4 + 6 + 4 + 1 = 15。那么共有15種組合方式。 方案一:此方法容易理解但是效率慢 ????????我的做

    2024年02月13日
    瀏覽(18)
  • 【算法Hot100系列】全排列

    【算法Hot100系列】全排列

    ??????歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續(xù)學(xué)習(xí),不斷總結(jié),共同進步,活到老學(xué)到老 導(dǎo)航 檀越劍指大廠系列:全面總

    2024年01月18日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包