【二叉樹4】比較兩個二叉樹的結構是否相同

【問題】給兩棵二叉樹的根節點,判斷他們的結構是否相同。bool IsSameStruct(treeNode *node1,treeNode *node2){if (node1 || node2 == NULL)return ture;else if(node1 && node2 == NULL)return false;elsereturn IsSameStruct(node1->left, node2->left) &&

差分序列(poj 2914 Angry Teacher & poj 2515 Birthday Cake)

poj 2515 Birthday Cake題意:給出m和n,求Sigma(i^m)   0<i<n解法:最裸的差分序列,根據性質3,只需求得第0條對角線的n+1個值即可。import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.math.BigInteger;import java.util.Scanner;public class Main{Scanner scan = new

fzu 2045 \ hdu 3973 AC’s String(線段樹+RK)

題意:給出10000個模式串和一個長度為100000的匹配串,有兩種操作:1.查詢匹配串的子串[L,R]是否存在於模式串中2.修改匹配串某個位置的字元解法:由於RK函數滿足區間加法啊,因此可以用線段樹動態維護和查詢某個子串的hash值,得到子串的hash值,剩下的就是普通的rk了。將所有模式串的hash值放入map中,對於hash值相同的模式串使用鏈表串聯起來,當擷取某個子串的hash值時 ,首先在map中尋找是否存在,若存在和此hash值鏈表上的模式串一一比較。import

poj 3460 Booksort(IDA*)

題目大意:有N(1 ≤ N ≤ 15)本書,每本與每本的高度都不一樣。現在可以按照以下的辦法整理書:抽出一摞書,再保持原來的順序插進一個位置。這樣的話我們稱之為“一次操作”。現在你需要求出至少需要經過幾次操作才能讓書變成按高度升序的狀態。如果需要5次或者多於5次,只需要輸出“5 or more”。解法:IDA*是一種特殊的dfs,每次dfs都設定一個閥值,一旦解的深度超出閥值就回溯。只不過IDA*加上了對目前狀態的估計——一旦已經走過的步數加上估計步數超出閥值,就進行回溯。若在此閥值下無解,則迭

hdu 4419 Colourful Rectangle(矩形面積並)

題意:給出紅綠藍三種顏色的矩形,某些元素重疊之後會組合成其它顏色,問7種顏色的面積分別為多少。解法:考慮只有兩種顏色AB,那麼求A顏色矩形的面積並x,B顏色矩形的面積並為y,AB顏色矩形的面積並為z,則最終,AB顏色的面積為x+y-z,A顏色的面積為x-(x+y-z),B顏色的面積為y-(x+y-z);類似得,考慮三種顏色:根據公式先求出三種顏色混和的面積x,然後依次只考慮兩種只有兩種顏色,求出RG,RB,GB後減去x,分別得到兩種顏色混合的面積,然後再求出只有一種顏色的面積。#include&

poj 4007 \ hdu 4127 Flood-it!

題意:一個n*n的矩陣,每次將左上方元素染色,則所有與它連通(兩元素連通的條件是有公用邊)的元素都被染為相同顏色,問至少需要多少次操作使得所有元素顏色相同解法:明顯的ida*,估價函數為當前矩陣元素的種類數減一,如果每次向外擴充狀態時都暴力枚舉會tle,因為很多狀態是無用的(即不會使連通塊擴大),因此用一個vis數組記錄每個元素的狀態,1代表已與左上方元素連通(無需擴充),2代表不與左上方連通但與某個連通的元素相鄰(待擴充),0代表其它。每層選擇顏色時只選擇vis值為2的元素中包含的顏色。通過本

VC6.0下如何配置Winpcap

Winpcap提供了以下強大的功能: 1.捕獲原始的資料包 2.設定filter,只捕獲自己敢興趣的資料包 3.方便的把捕獲的資料包輸出到檔案和從檔案輸入 4.發送原始的資料包 5.統計網路流量 6.…..(其它還有很多,我不知道了) 二.Winpcap的安裝使用方法 1.到http://winpcap.polito.it下載winpcap的安裝包,程式員開發包。 2.執行安裝包,這樣你的機子就能運行winpcap程式了 3.解壓開發包,

IGT筆試

今天去IGT進行了一個小時的筆試,做的是應屆生的C++題目,一共10題。題目都是全英文的,作答也應該用英文,我答的很不好。1、在32位和64位情況下,不同基礎資料型別 (Elementary Data Type)和指標的sizeof大小輸出2、條件編譯器段段 和 普通程式段的區別3、虛表和虛指標的概念,和相互關係4、函數指標的應用5、基類和衍生類別的建構函式和解構函式的先後問題6、進程和線程的區別和關係7、vector

極大極小搜尋α-β剪枝(poj 1568)

極大極小搜尋:     A和B對弈,輪到A走棋了,那麼我們會遍曆A的每一個可能走棋方法,然後對於前面A的每一個走棋方法,遍曆B的每一個走棋方法,然後接著遍曆A的每一個走棋方法,如此下去,直到得到確定的結果或者達到了搜尋深度的限制。當達到了搜尋深度限制,此時無法判斷結局如何,一般都是根據當前局面的形式,給出一個得分,計算得分的方法被稱為評價函數,不同遊戲的評價函數差別很大,需要很好的設計。   

兩次面試的感受

讀研已經讀到研二下學期了,不想繼續呆在學校實驗室,秉著不踏實的心情,做著不甚興趣的項目。年前,就在念想著出去外面公司實習。新學期回校,因為導師出國,這種想法也就無法和導師訴說。上周,在招聘實習的相關網站上,瀏覽了半天,選擇合適的幾個投了簡曆,第二天收到了兩個公司的面試通知:靈圖和都科莫。巧的是,面試都在周一下午,一個2點半,一個4點,我原本估摸著會錯過4點的靈圖面試。昨天,也就是周一,先去了都科莫的2:30的面試,中午沒有午休,迷迷糊糊的到了融科資訊,到了融科資訊,就想起了去年的英特爾面試,哎,

Road Repairs(CF 240E)

題目連結:http://codeforces.com/problemset/problem/240/E題意:一個五萬個點和五萬條邊的圖,每條邊的邊權為1或0,問以1為根的最小樹形圖,並輸出方案。解法:傳統最小樹形圖的複雜度為VE,但此圖邊權比較特殊,最小樹形圖的定義為除根節點外每個點都有入邊,根節點有出邊,且無環。因此可以首先使用邊權為0的邊為每個點找一條入邊,對於仍然沒有入度的點再使用邊權為1的邊,但只要無法處理0邊形成的環,因此要首先對0邊的樹進行強連通縮點,對於縮點後的dag先用0邊為每個

Dijkstra演算法 ——四人過橋

有一天晚上,有四個人需要通過架在山穀間的危橋,任意時刻最多隻能有兩個人在橋上,過橋需要一盞閃光燈,這些人只有一盞閃光燈。如果單獨過橋他們分別需要10、5、2、1分鐘,如果兩人同時過橋則所需時間是較慢者所需的時間。18分鐘後,沿山穀滾滾而下的山洪將把這座橋沖毀。這四個人能及時過橋嗎?不用圖論知識,證明你的結論;並說明如何用圖論知識獲得答案。證明:只有一隻手電筒,並且過橋時必須要用到手電筒,唯一的辦法就是讓2個人一起過橋,然後讓其中的一個在返回來送手電筒,從橋上走一來回的結果是可以讓1個人通過.當2

SQL的JOIN用法1

關於sql語句中的串連(join)關鍵字,是較為常用而又不太容易理解的關鍵字,下面這個例子給出了一個簡單的解釋,相信會對你有所啟示。--建表table1,table2:create table table1(id int,name varchar(10))create table table2(id int,score int)insert into table1 select 1,'lee'insert into table1 select 2,'zhang'insert into

【UNUX】進程與線程

簡介    在傳統的作業系統中,進程擁有獨立的記憶體位址空間和一個用於控制的線程。但是,現在的情況更多的情況下要求在同一地址空間下擁有多個線程並發執行。因此線程被引入作業系統。 為什麼需要線程?    如果非要說是為什麼需要線程,還不如說為什麼需要進程中還有其它進程。這些進程中包含的其它迷你進程就是線程。   

積性函數(poj1845 poj2480 hdu2879 )

定義:對於正整數n的一個算術函數 f(n),若f(1)=1,且當a,b互質時f(ab)=f(a)f(b),在數論上就稱它為積性函數。若對於某積性函數 f(n) ,就算a, b不互質,也有f(ab)=f(a)f(b),則稱它為完全積性的性質:積性函數的值完全由質數的冪決定常見積性函數: 

二叉樹遍曆非遞迴和快速排序

對二叉樹進行先序、中序和後序遍曆都是從根結點開始的,且在遍曆過程中經過結點的路線是一樣的,只是訪問的時機不同而已。先序遍曆是在深入時遇到結點就訪問,中序遍曆是在從左子樹返回時遇到結點訪問,後序遍曆是在從右子樹返回時遇到結點訪問。非遞迴遍曆實現的大概模板:void  xxxorder(bintree T){    sqstack stack;//定義一個棧,並初始化棧        initstack(stack);        定義一個局部臨時變數p存放根節點 p=T;     

演算法導論——第一章

 1.插入排序:將一個資料插入到已經排好序的有序資料中,從而得到一個新的、個數加一的有序資料(插入的資料排到最後的位置,與前一個數比較,如果順序是對則不變,否則前移,如此迴圈,直到所有的數都插入完成)在這個演算法中是喲偶那個到迴圈不變式,其必須滿足三個性質(初始化,保持,終止)

萬安科技筆試題目

上午去筆試了,萬安科技筆試9點到11點,題量有點大,筆試的一般,憑著記憶記錄下考到得題目:選擇題: 1、sizeof(++i + ++i);                 2、int **pp【3】【4】;pp的大小sizeof;                 3、枚舉值問答題:1、 volatile const 可以合一嗎?指標可以是volatile嗎?                2、struct位移量                3、資料庫索引,觸發器,預存程序作用?       

演算法導論——第二章——堆排序

 1.原地排序就是指不申請多餘的空間來進行的排序,就是在原來的排序資料中比較和交換的排序。例如快速排序,堆排序等都是原地排序,合并排序,計數排序等不是原地排序。排序穩定就是指:如果兩個數相同,對他們進行的排序結果為他們的相對順序不變。2堆的定義:           n個關鍵字序列Kl,K2,…,Kn稱為堆,若且唯若該序列滿足如下性質(簡稱為堆性質):      (1)ki<=k(2i+1)且ki<=k(2i+2)(1≤i≤ n),當然,這是小根堆,大根堆則換成>=號。

演算法導論——第三章——優先順序隊列(以堆為思想)

 1.優先順序隊列:是一種用來維護一組元素構成的集合S的資料結構,這一組元素中的每一個都有一個關鍵字key對優先隊列執行的操作有1) 尋找;2) 插入一個新元素;3) 刪除.

總頁數: 61357 1 .... 13430 13431 13432 13433 13434 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.