基礎演算法系列 前言

2021-06-02 21:21:00 字數 646 閱讀 6175

怎樣才能學好程式?

個人認為,乙個好的程式設計師必須具備兩方便的素質: 一是知識,二是邏輯思維。

知識需要不斷積累,可能知識就是乙個小小的問題,你知道了,就能方便的運用上,不知道的話,便可能花費時間查閱資料。

相對於知識,邏輯更顯重要。

知識可以積累,而邏輯主要看程式設計師的分析問題、解決問題的能力,這種能力不僅僅要求積累,更要求懂得分析、推演與歸納,考驗的邏輯思維。

邏輯的乙個重要分支便是演算法,在某些程式中,演算法即是靈魂。 

複雜問題大多是由乙個個簡單問題構成的,演算法也如是,複雜演算法的也是由基礎演算法衍生而成。

基礎是關鍵,只有基礎演算法掌握了,設計具體演算法時才能更加得心應手。

在大學時,我們便接觸了各種演算法,可惜,當時只是泛泛的聽老師粗略的講解,並沒有轉換為自己的東西。

大學畢業,並不代表我們已經學會了大學中的知識。而僅僅代表著,我們曾學過那些知識,至於有沒有轉換為自己的知識,那就只有自己清楚了。 

知識能夠改變命運,並不等於 上了大學就能改變命運。

而且,我認為,有了知識也不一定能夠改變命運, 只有: 懂得如何運用這些知識,才有可能改變命運。

本著,學以致用的觀點,重新回顧一下大學時學過的演算法,以期把握其本質,真正掌握,轉換為屬於自己的東西。

因此,特在閒暇之時,梳理一下那些基礎演算法。

java演算法系列

棧的概念 棧是一種特殊的線性表,堆疊的資料元素以及資料元素之間的關係和線性表是完全一樣的。差別是線性表是在任意位置進行插入和刪除操作,棧是只允許在固定的一端進行插入和刪除,棧的插入和刪除只允許在棧頂,棧的插入和刪除通常稱為進棧和出棧。資料集合 每個資料元素的資料型別可以是任意的型別 操作的集合 進棧...

演算法系列 Move Zeroes

given an array nums,write a function to move all 0 s to the end of it while maintaining the relative order of the non zero elements.for example,given ...

演算法系列 Missing Number

given an array containing n distinct numbers taken from 0,1,2,n,find the one that is missing from the array.for example,given nums 0,1,3 return 2.note...