面試題5:從尾到頭列印鏈表

題目:輸入一個鏈表的頭結點,從尾到頭反過來列印出每個結點的值。我們知道鏈表的特性,尋找其中某一個結點的時間複雜度是O(n),不像數組那樣可以直接通過下表在O(1)的時間內尋找到指定元素。因此如果要尋找鏈表元素,我們必須從頭結點開始順序往後尋找。現在需要輸出鏈表中的每個結點的值,而必須是從尾到頭的,也就是先遍曆的結點後輸出,一個典型的“先進後出”的資料結構,這就讓我們想到了棧的結構,如果我們在遍曆鏈表的時候,將遍曆的結果存放在一個棧中,遍曆結束以後輸出棧中的元素值,就是我們需要的從尾到頭列印鏈表結

設計模式之預設適配模式

文章目錄 InterfaceAAbstractClassBClassBImplFun1ClassBImplFun5AImplmain

百度面試題:從海量日誌中提取訪問百度次數最多的IP

前言這道題目網上到處都是,但是好多都沒有講清楚,然後大家又相互轉載,錯誤泛濫,現在我來完善這道題目。題目:每一個ip訪問百度,其ip地址都會被記錄到後台記錄檔中,假設一天的訪問日誌有100G,求出一天中訪問百度次數最多的ip地址,可以使用的記憶體大小是1G。分析首先解決大檔案問題,也就是如何處理100G的一個大檔案,這個通常的解決方案就是將大檔案分解成許多小檔案。我們可以通過對IP地址求hash然後對1024模數將一個100G的大檔案分解成1024個小檔案(file0,file1......fi

重寫Object.equals()方法和Object.hashCode()方法

參考文獻:Java:重寫equals()和hashCode()為什麼重寫equals方法,一定要重寫HashCode方法?重寫equals和hashCode《CoreJava I 8》第5.2節——Object:所有類的超類。本文 程式碼範例View Code package v1ch05.EqualsTest;import java.util.*;/** * This program demonstrates the equals method. * @version 1.11 2004-02

二叉搜尋樹的插入與刪除

文章目錄 添加結點:刪除結點:

github中non-fast-forward錯誤的解決

參考文獻1.http://www.linuxidc.com/Linux/2012-04/58985.htm2.http://ihower.tw/blog/archives/26203.http://hi.baidu.com/lettoo/blog/item/e2e7f30fec72bdf6ab645789.html本文學習使用git,可以參考文獻3,但是在操作的最後一步,也就是想將代碼上傳到git中去的時候,出現如下錯誤:Pushing to

面試題28:字串的排列

題目:輸入一個字串,列印出該字串中字元的所有排列。例如輸入字串abc,則列印出字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab、cba。這是一個典型的遞迴問題,考慮如何將複雜問題分解成簡單問題,最後通過遞迴解決。我們肯定有這樣的經驗,自己在寫abc的全排列的時候,肯定會想首先確定第一個字元,然後考慮後面有什麼排列,比如確定第一個字元為a,那麼剩下的b和c有兩種排列,分別是bc和cb,那麼以a開頭的字串有abc,acb這兩種排列。這就是我們下面程式所需要用到的解題思路。將

資料庫索引執行個體

參考文獻:[1].漫談資料庫索引1.建立表並插入資料在Sql Server2008中建立測試資料庫Test,接著建立資料庫表並插入資料,sql代碼如下:USE TestIF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'emp_pay') DROP TABLE emp_payGOUSE TestIF EXISTS (SELECT name FROM sys.indexes

面試題:在O(1)空間複雜度範圍內對一個數組中前後連段有序數組進行歸併排序

題目:數組al[0,mid-1]和al[mid,num-1]是各自有序的,對數組al[0,num-1]的兩個子有序段進行merge,得到al[0,num-1]整體有序。要求空間複雜度為O(1)。註:al[i]元素是支援'<'運算子的。分析 代碼執行個體:View Code #include<iostream>#include<stdlib.h>#include<stack>using namespace std;void MergeSort(int

面試題13:在O(1)時間刪除鏈表結點

題目:給定單向鏈表的頭指標和一個結點指標,定義一個函數在O(1)時間刪除該結點。 鏈表結點與函數的定義如下:struct ListNode{ int m_nValue; ListNode* m_pNext;};void DeleteNode(ListNode** pListHead,ListNode*

資料庫中的萬聖節問題(Database “Halloween problem”)資料庫索引執行個體資料庫索引執行個體資料庫索引執行個體

參考文獻:1.What is the Halloween Problem in databases?2.Halloween Problem3.Table scans to avoid the Halloween problem4.資料庫索引執行個體本文  今天在看《資料庫系統概念》這本書的查詢最佳化章節,在其中的第13.6.3節中提到了萬聖節問題(Halloween

面試題:尋找熱門查詢

文章目錄 代碼實現:網上給出的答案:我的答案

面試題11:數值的整數次方

文章目錄 更優的解法: 題目:實現函數double Power(double base,int

面試題27:二叉搜尋樹與雙向鏈表

題目:輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成一個排序的雙向鏈表。要求不能建立任何新的結點,只能調整樹中結點指標的指向。比如輸入中左邊兒茶搜尋樹,則輸出轉換後的排序雙向鏈表。 10 / \ 6 14 / \ / \ 4 8 12 164=6=8=10=12=14=16 將二叉搜尋樹轉化為有序雙向鏈表,類似於中序遍曆,中序遍曆的結果就是一個排序的數字。因此在程式中以中序遍曆樹,當遍曆左子樹到在葉子結點的時候,開始修改指標。 代碼執行個體:View Code

面試題16:反轉鏈表

題目:定義一個函數,輸入一個鏈表的頭結點,反轉該鏈表並輸出反轉後鏈表的頭結點。 假設有鏈表A->B->C->D->E->F->G。在反轉鏈表過程中的某一階段,其鏈表指標指向為:A<-B<-C<-D

JUnit學習摘要+入門執行個體

文章目錄 步驟1:建立待測試類別步驟2:在eclipse中為項目添加JUnit環境步驟3:建立測試類別步驟4:修改測試案例代碼

面試題1:賦值運算子函數

文章目錄 存在的問題: 題目:如下為類型CMyString的聲明,請為該類型添加賦值運算子函數。class CMyString{public:CMyString(char *pData=NULL);//建構函式CMyString(const CMyString& str);//拷貝建構函式~CMyString();//解構函式private:char*

Object.wait()與Object.notify()的用法多線程開發

文章目錄 void notifyAll()void notify()void wait()void wait(long millis)和void wait(long millis,int nanos) 參考文獻:object.wait()和object.notify()和object.notifyall()本文wait、notify和notifyAll方法是Object類的final

sql查詢選擇表中從10到15的記錄

msdn關於order by的解釋ORDER BY 子句按一列或多列(最多 8,060 個位元組)對查詢結果進行排序。有關 ORDER BY 子句最大大小的詳細資料,請參閱 ORDER BY 子句 (Transact-SQL)。Microsoft SQL Server 2005 允許在 FROM 子句中指定對 SELECT 列表中未指定的表中的列進行排序。ORDER BY 子句中引用的列名必須明確地對應於 SELECT 列表中的列或 FROM 子句中的表中的列。如果列名已在 SELECT

使用Enumeration和Iterator遍曆集合類

前言  在資料庫連接池分析的代碼執行個體中,看到其中使用Enumeration來遍曆Vector集合。後來就找了一些資料查看都有哪些方法可以遍曆集合類,在網上找到了如下的使用Enumeration和Iterator遍曆集合類的執行個體。不過這個執行個體中提到了Enumeration比Iterator的效率更高,其實並不是這樣子的,該執行個體是的時間測試太片面了,

總頁數: 61357 1 .... 5760 5761 5762 5763 5764 .... 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.