排序是工程中必不可少的功能,很多編程語言SDK都提供了排序相關(guān)的實現(xiàn)。作為軟件工程師,我們在學(xué)習(xí)各類排序算法的同時,是否有思考過,如何去實現(xiàn)一個工業(yè)級的排序算法?如果你是Go...
排序是工程中必不可少的功能,很多編程語言SDK都提供了排序相關(guān)的實現(xiàn)。作為軟件工程師,我們在學(xué)習(xí)各類排序算法的同時,是否有思考過,如何去實現(xiàn)一個工業(yè)級的排序算法?如果你是Go...
在上一章中我們學(xué)習(xí)了隊列以及相關(guān)的基本操作,并有數(shù)組切片和鏈表兩種不同的實現(xiàn)方式,本章我們將對鏈表進行單獨介紹。 如果我們需要存儲操作一系列的數(shù)據(jù),使用數(shù)組(或列表)是最常用...
個人博客開發(fā)系列文章: 博客前端展示總結(jié):http://www.itdecent.cn/p/1348bcd1e716 后臺管理系統(tǒng)總結(jié):https://www.jiansh...
題目描述 二叉樹的鏡像 操作給定的二叉樹,將其變換為源二叉樹的鏡像。 思路 使用遞歸,交互樹的左右子節(jié)點后再對子節(jié)點執(zhí)行即可 Code JavaScript
題目描述 樹的子結(jié)構(gòu) 輸入兩棵二叉樹A,B,判斷B是不是A的子結(jié)構(gòu)。(ps:我們約定空樹不是任意一個樹的子結(jié)構(gòu)) 思路 使用遞歸,逐一比較左右子節(jié)點 Code JavaScript
在上一章中我們學(xué)習(xí)了棧以及棧的基本操作,并使用數(shù)組切片和鏈表來實現(xiàn)了兩種不同的棧操作方式,接下來我們將學(xué)習(xí)并實現(xiàn)隊列。 隊列與棧非常相似,但是元素的出入原則與棧不同,在棧中元...
在上一章中,我們用Go實現(xiàn)了最常用的數(shù)據(jù)結(jié)構(gòu)-數(shù)組,并實現(xiàn)了數(shù)組的添加元素、刪除元素、數(shù)組遍歷、數(shù)組排序和數(shù)組查找等功能。 在數(shù)組中我們可以實現(xiàn)任意位置的添加或刪除元素,但是...
幾乎所有的編程語言都原生支持數(shù)組類型,因為數(shù)組是最簡單的內(nèi)存數(shù)據(jù)結(jié)構(gòu)。在這里我們將用Go語言中的切片特性來實現(xiàn)數(shù)組的基本操作。 根據(jù)下標實現(xiàn)隨機訪問 計算機會給每個內(nèi)存單元分...
題目描述 合并兩個排序的鏈表 輸入兩個單調(diào)遞增的鏈表,輸出兩個鏈表合成后的鏈表,當(dāng)然我們需要合成后的鏈表滿足單調(diào)不減規(guī)則。 思路 若鏈表1的頭結(jié)點的值小于鏈表2的頭結(jié)點的值,...
題目描述 反轉(zhuǎn)鏈表 輸入一個鏈表,反轉(zhuǎn)鏈表后,輸出新鏈表的表頭。 思路 用一個指針來保存鏈表倒序,遍歷一次鏈表,每獲取一個節(jié)點就把該節(jié)點加到新鏈表的表頭,再讓指針指向表頭,如...
題目描述 鏈表中倒數(shù)第k個結(jié)點 輸入一個鏈表,輸出該鏈表中倒數(shù)第k個結(jié)點。 思路 準備兩個指針,第一個指向頭,讓第二個先往后走k步,之后再同時走,當(dāng)?shù)诙€指針到達尾部時第一個...
題目描述 調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)前面 輸入一個整數(shù)數(shù)組,實現(xiàn)一個函數(shù)來調(diào)整該數(shù)組中數(shù)字的順序,使得所有的奇數(shù)位于數(shù)組的前半部分,所有的偶數(shù)位于數(shù)組的后半部分,并保證奇數(shù)和...
題目描述 數(shù)值的整數(shù)次方 給定一個double類型的浮點數(shù)base和int類型的整數(shù)exponent。求base的exponent次方。 思路 根據(jù)n次方定義,用循環(huán)實現(xiàn) C...
題目描述 二進制中1的個數(shù) 輸入一個整數(shù),輸出該數(shù)二進制表示中1的個數(shù)。其中負數(shù)用補碼表示。 思路 一個數(shù)n與n-1按位與后,該數(shù)最右邊的1變?yōu)? 在python中int是無...
題目描述 矩形覆蓋 我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法? 思路 依舊是斐波那契數(shù)列拓展...
題目描述 變態(tài)跳臺階 一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 思路 斐波那契數(shù)列的變形,從第2個數(shù)開始...
題目描述 跳臺階 一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先后次序不同算不同的結(jié)果)。 思路 實質(zhì)還是斐波那契數(shù)列 Code...
題目描述 斐波那契數(shù)列 大家都知道斐波那契數(shù)列,現(xiàn)在要求輸入一個整數(shù)n,請你輸出斐波那契數(shù)列的第n項(從0開始,第0項為0)。 n<=39 思路 根據(jù)定義,用遞歸即可 C...