日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

输入一个数寻找丑数C语言,数据结构与算法试题80道.doc

發布時間:2025/4/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 输入一个数寻找丑数C语言,数据结构与算法试题80道.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據結構與算法試題80道

由于這些題,實在太火了。所以,應廣大網友建議要求,在此把之前已整理公布的前80題,

現在,一次性分享出來。此也算是前80題第一次集體亮相。

此些題,已有上萬人,看到或見識到,若私自據為己有,必定為有知之人識破,付出代價。

所以,作者聲明:

本人July對以上所有任何內容和資料享有版權,轉載請注明作者本人July出處。

向你的厚道致敬。謝謝。

1.把二元查找樹轉變成排序的雙向鏈表

?題目:

輸入一棵二元查找樹,將該二元查找樹轉換成一個排序的雙向鏈表。

要求不能創建任何新的結點,只調整指針的指向。 10

?/ \

?6?14

?/ \ / \

4?8 12 16

?轉換成雙向鏈表

4 6 8 10 12 14 16。

?首先我們定義的二元查找樹 節點的數據結構如下:

?struct BSTreeNode int m_nValue; // value of node

?BSTreeNode *m_pLeft; // left child of node

?BSTreeNode *m_pRight; // right child of node

;

2.設計包含min函數的棧。

定義棧的數據結構,要求添加一個min函數,能夠得到棧的最小元素。

要求函數min、push以及pop的時間復雜度都是O 1 。

3.求子數組的最大和

題目:

輸入一個整形數組,數組里有正數也有負數。

數組中連續的一個或多個整數組成一個子數組,每個子數組都有一個和。

求所有子數組的和的最大 。要求時間復雜度為O n 。

例如輸入的數組為1, -2, 3, 10, -4, 7, 2, -5,和最大的子數組為3, 10, -4, 7, 2,

因此輸出為該子數組的和18。

4.在二元樹中找出和為某一 的所有路徑

題目:輸入一個整數和一棵二元樹。

從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。

打印出和與輸入整數相等的所有路徑。

例如 輸入整數22和如下二元樹

?10?

?/ \ 5?12 /?? \??

4 7

則打印出兩條路徑:10, 12和10, 5, 7。

二元樹節點的數據結構定義為:

struct BinaryTreeNode // a node in the binary tree int m_nValue; // value of node

BinaryTreeNode *m_pLeft; // left child of node

BinaryTreeNode *m_pRight; // right child of node

;

5.查找最小的k個元素

題目:輸入n個整數,輸出其中最小的k個。

例如輸入1,2,3,4,5,6,7和8這8個數字,則最小的4個數字為1,2,3和4。

第6題

騰訊面試題:

給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數

要求下排每個數都是先前上排那十個數在下排出現的次數。

上排的十個數如下:

【0,1,2,3,4,5,6,7,8,9】

舉一個例子,

數 : 0,1,2,3,4,5,6,7,8,9

分配: 6,2,1,0,0,0,1,0,0,0

0在下排出現了6次,1在下排出現了2次,

2在下排出現了1次,3在下排出現了0次

以此類推..

第7題

微軟亞院之編程判斷倆個鏈表是否相交

給出倆個單向鏈表的頭指針,比如h1,h2,判斷這倆個鏈表是否相交。

為了簡化問題,我們假設倆個鏈表均不帶環。

問題擴展:

1.如果鏈表可能有環列?

2.如果需要求出倆個鏈表相交的第一個節點列?

第8題

此貼選一些 比較怪的題,,由于其中題目本身與算法關系不大,僅考考思維。特此并作一題。

1.有兩個房間,一間房里有三盞燈,另一間房有控制著三盞燈的三個開關,

這兩個房間是 分割開的,從一間里不能看到另一間的情況。

現在要求受訓者分別進這兩房間一次,然后判斷出這三盞燈分別是由哪個開關控制的。

有什么辦法呢?

2.你讓一些人為你工作了七天,你要用一根金條作為報酬。金條被分成七小塊,每天給出一塊。

如果你只能將金條切割兩次,你怎樣分給這些工人?

3. 用一種算法來顛倒一個鏈接表的順序。現在在不用遞歸式的情況下做一遍。

用一種算法在一個循環的鏈接表里插入一個節點,但不得穿越鏈接表。

用一種算法整理一個數組。你為什么選擇這種方法?

用一種算法使通用字符串相匹配。

顛倒一個字符串。優化速度。優化空間。

顛倒一個句子中的詞的順序,比如將“我叫克麗絲”轉換為“克麗絲叫我”,

實現速度最快,移動最少。

找到一個子字符串。優化速度。優化空間。

比較兩個字符串,用O n 時間和恒量空間。

假設你有一個用1001個整數組成的數組,這些整數是任意排列的,但是你知道所有的整數都在1到1000 包括1000 之間。此外,除一個數字出現 兩次外

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的输入一个数寻找丑数C语言,数据结构与算法试题80道.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。