導航:首頁 > 使用方法 > 演算法中常用的一些函數和方法

演算法中常用的一些函數和方法

發布時間:2024-10-25 15:52:37

① 前端演算法入門:刷演算法題常用的 JS 基礎掃盲

此篇屬於前端演算法入門系列的第一篇,主要介紹常用的 數組方法 、 字元串方法 、 遍歷方法 、 高階函數 、 正則表達式 以及相關 數學知識 。

在尾部追加,類似於壓棧,原數組會變。

在尾部彈出,類似於出棧,原數組會變。數組的 push & pop 可以模擬常見數據結構之一:棧。

在頭部壓入數據,類似於入隊,原數組會變。

在頭部彈出數據,原數組會變。數組的 push (入隊) & shift (出隊) 可以模擬常見數據結構之一:隊列。

concat 會在當前數組尾部拼接傳入的數組,然後返回一個新數組,原數組不變。

在數組中尋找該值,找到則返回其下標,找不到則返回 -1 。

在數組中尋找該值,找到則返回 true ,找不到則返回 false 。

將數組轉化成字元串,並返回該字元串,不傳值則默認逗號隔開,原數組不變。

翻轉原數組,並返回已完成翻轉的數組,原數組改變。

從 start 開始截取到 end ,但是不包括 end

可參考 MDN:Sort [5]

將數組轉化成字元串,並返回該字元串,逗號隔開,原數組不變。

返回指定索引位置處的字元。類似於數組用中括弧獲取相應下標位置的數據。

類似數組的concat(),用來返回一個合並拼接兩個或兩個以上字元串。原字元串不變。

indexOf ,返回一個字元在字元串中首次出現的位置, lastIndexOf 返回一個字元在字元串中最後一次出現的位置。

提取字元串的片斷,並把提取的字元串作為新的字元串返回出來。原字元串不變。

使用指定的分隔符將一個字元串拆分為多個子字元串數組並返回,原字元串不變。

match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配,並返回一個包含該搜索結果的數組。

注意事項 :如果 match 方法沒有找到匹配,將返回 null 。如果找到匹配,則 match 方法會把匹配到以數組形式返回,如果正則規則未設置全局修飾符 g ,則 match 方法返回的數組有兩個特性: input 和 index 。 input 屬性包含整個被搜索的字元串。 index 屬性包含了在整個被搜索字元串中匹配的子字元串的位置。

replace 接收兩個參數,參數一是需要替換掉的字元或者一個正則的匹配規則,參數二,需要替換進去的字元,仔實際的原理當中,參數二,你可以換成一個回調函數。

在目標字元串中搜索與正則規則相匹配的字元,搜索到,則返回第一個匹配項在目標字元串當中的位置,沒有搜索到則返回一個 -1 。

toLowerCase 把字母轉換成小寫, toUpperCase() 則是把字母轉換成大寫。

includes 、 startsWith 、 endsWith , es6 的新增方法, includes 用來檢測目標字元串對象是否包含某個字元,返回一個布爾值, startsWith 用來檢測當前字元是否是目標字元串的起始部分,相對的 endwith 是用來檢測是否是目標字元串的結尾部分。

返回一個新的字元串對象,新字元串等於重復了指定次數的原始字元串。接收一個參數,就是指定重復的次數。原字元串不變。

最常用的 for 循環,經常用的數組遍歷,也可以遍歷字元串。

while 、 do while 主要的功能是,當滿足 while 後邊所跟的條件時,來執行相關業務。這兩個的區別是, while 會先判斷是否滿足條件,然後再去執行花括弧裡面的任務,而 do while 則是先執行一次花括弧中的任務,再去執行 while 條件,判斷下次還是否再去執行 do 裡面的操作。也就是說 do while 至少會執行一次操作 .

拷貝一份遍歷原數組。

for…of 是 ES6 新增的方法,但是 for…of 不能去遍歷普通的對象,** for…of 的好處是可以使用 break 跳出循環。**

面試官:說一下 for...in 和 for...of 區別?

返回一個布爾值 。當我們需要判定數組中的元素是否滿足某些條件時,可以使用 every / some 。這兩個的區別是, every 會去判斷判斷數組中的每一項,而 some 則是當某一項滿足條件時返回。

rece 從左到右將數組元素做「疊加」處理,返回一個值。 receRight 從右到左。

Object.keys 方法的參數是一個對象,返回一個數組。該數組的成員都是該對象自身的(而不是繼承的)所有屬性名,且只返回可枚舉的屬性。

Object.getOwnPropertyNames 方法與 Object.keys 類似,也是接受一個對象作為參數,返回一個數組,包含了該對象自身的所有屬性名。但它能返回不可枚舉的屬性。

這里羅列一些我在刷演算法題中遇到的正則表達式,如果有時間可認真學一下 正則表達式不要背 [7]

持續更新,敬請期待……

若一個正整數無法被除了 1 和它自身之外的任何自然數整除,則稱該數為質數(或素數),否則稱該正整數為合數。

什麼叫演算法演算法有哪幾種表示方法

演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。計算機科學家往往將「演算法」一詞的含義限定為此類「符號演算法」。「演算法」概念的初步定義:一個演算法是解決一個問題的進程。而並不需要每次都發明一個解決方案。

已知的演算法有很多,例如「分治法」、「枚舉測試法」、「貪心演算法」、「隨機演算法」等。

(2)演算法中常用的一些函數和方法擴展閱讀

演算法中的「分治法」

「分治法」是把一個復雜的問題拆分成兩個較為簡單的子問題,進而兩個子問題又可以分別拆分成另外兩個更簡單的子問題,以此類推。問題不斷被層層拆解。然後,子問題的解被逐層整合,構成了原問題的解。

高德納曾用過一個郵局分發信件的例子對「分治法」進行了解釋:信件根據不同城市區域被分進不同的袋子里;每個郵遞員負責投遞一個區域的信件,對應每棟樓,將自己負責的信件分裝進更小的袋子;每個大樓管理員再將小袋子里的信件分發給對應的公寓。

③ 演算法設計與分析的基本方法有哪些

演算法設計與分析的基本方法包括以下幾個方面:
1. 遞推法:
遞推法是依據問題內在的遞推關系來求解問題的一種方法。它通過將問題分解為若干步驟,並找出相鄰步驟之間的關系,以實現問題的解決。這種方法被稱為遞推法。
2. 遞歸:
遞歸是一種自我調用的函數或過程,它通過函數自身調用自身,直到達到一個已知的基準情況。遞歸常用於解決具有遞歸結構的問題。
3. 窮舉搜索法:
窮舉搜索法,也稱為暴力法,是對所有可能的候選解進行逐一枚舉和檢驗,直到找到滿足條件的解。這種方法適用於問題規模較小的情況。
4. 貪婪法:
貪婪法是一種在每一步選擇中都採取在當前看來是最好的選擇,以期望結果是全局最優的演算法策略。貪婪法通常快速且簡單,但不保證總能得到最優解。
5. 分治法:
分治法是將一個復雜問題分解成兩個或多個相似的子問題,然後遞歸地解決這些子問題,並合並它們的解以得到原問題的解。這種方法適用於問題可以被分解為獨立子問題的情況。
6. 動態規劃法:
動態規劃是一種用於解決包含重疊子問題的最優化問題的方法。它通過將原問題分解為子問題,並存儲子問題的解,以避免重復計算,從而提高效率。
7. 迭代法:
迭代法是數值分析中用於求解問題(如方程或方程組)的一系列近似解的方法。它從一個初始估計開始,通過不斷迭代來逼近問題的解。

閱讀全文

與演算法中常用的一些函數和方法相關的資料

熱點內容
游標卡的使用方法視頻 瀏覽:213
腰酸痛治療方法 瀏覽:273
用swot方法分析一個企業 瀏覽:539
胃痛在哪裡緊急止痛方法 瀏覽:305
香料油怎麼熬制方法 瀏覽:239
英雄聯盟中眼在哪裡設置方法 瀏覽:579
怎麼區別皮鞋油皮和蠟皮方法 瀏覽:172
創口貼正確使用方法 瀏覽:585
試管嬰兒免疫治療方法 瀏覽:395
生物入侵風險分析的方法有哪幾種 瀏覽:252
家中網線連接方法 瀏覽:619
雙蹤示波器使用方法 瀏覽:587
製作蛋撻的方法視頻 瀏覽:460
菜鳥逆襲的正確方法 瀏覽:836
德龍除垢劑使用方法 瀏覽:133
二肱肌鍛煉方法 瀏覽:928
寰樞椎半脫位的檢查方法有哪些 瀏覽:319
線性燈直角安裝方法 瀏覽:1002
如何做脆皮蛋糕的方法 瀏覽:249
方程有哪些好的解題方法 瀏覽:92