iT邦幫忙

algorithm相關文章
共有 320 則文章
鐵人賽 自我挑戰組 DAY 9

技術 Day-9 Divide-and-Conquer-4 : Quicksort, 隨機化Quicksort

Quicksort- Tony Hoare - 1962 和merge-sort一樣,他使用了Divide and conquer的想法,下面是對於一個陣列進行...

鐵人賽 自我挑戰組 DAY 8

技術 Day-8 Divide-and-Conquer-3 : 二分搜尋法, 費波那契數列, Strassen’s演算法

二分搜尋法(Binary Search) 前提,在一個已經排序完成的A陣列中Divide : 元素x和A陣列的中間元素進行比較Conquer : 在其中一個子陣...

鐵人賽 自我挑戰組 DAY 7

技術 Day-7 Divide-and-Conquer-2 : 求解遞迴式

如何求解遞迴式 目前主要有三種方法來求解遞迴式(至今沒有任何一個好的演算法可以有效地解決遞迴式) 代換法(substitution method) 他主要遵循以...

鐵人賽 Software Development DAY 4

技術 Day 4:88. Merge Sorted Array

今日題目 題目連結:88. Merge Sorted Array題目主題:Array、Two Pointer、Sorting 今天要說說另一種排序法,這次選的題...

鐵人賽 自我挑戰組 DAY 2

技術 【Day 02】認識演算法 Algorithm ( 使用 JavaScript )

一、什麼是演算法 ( Algorithm ) ? 演算法是一組 step by step 用來解決問題、完成任務的指令,它的定義: 在有限時間內 在有限步驟內...

鐵人賽 Software Development DAY 3

技術 Day 3:747. Largest Number At Least Twice of Others

今日題目 題目連結:747. Largest Number At Least Twice of Others題目主題:Array、Sorting 選擇這題的主要...

鐵人賽 自我挑戰組 DAY 6

技術 Day-6 Divide-and-Conquer-1 : merge sort

設計演算法 我們可以選擇的演算法設計技術有很多種。插入排序使用了遞增逼近(incremental approach)的方法 : 在排序子陣列之後,將單個元素插入...

鐵人賽 自我挑戰組 DAY 5

技術 Day-5 演算法分析工具 : 漸進式符號(Big-O, Big-Theta, Big-Omega)

前言 比較合併排序法與插入排序法,一旦輸入n的規模足夠大時,合併排序在最壞情況所需的時間Θ,而插入排序法在最壞情況所需的時間為Θ,當n足夠大時,合併排序法的效率...

鐵人賽 Software Development DAY 1

技術 【在廚房想30天的演算法】Day 01 演算法好吃嗎~

【在廚房想30天的演算法】Day 01 演算法好吃嗎~ Aloha!我是少女人妻Uerica!哈哈哈,過了一年又開始跟老公沒話題了,加上疫情關係天天處一起,我...

鐵人賽 Software Development DAY 2

技術 Day 2:414. Third Maximum Number

今日題目 題目:414. Third Maximum Numbe題目主題:Array, Sorting 我會從最基本的排序開始,本題先不講任何演算法或資料結構。...

鐵人賽 Software Development DAY 1

技術 Day 1:開始前的準備

緣起 各位好~我是一個軟體工程師,追求每年都要有不一樣的進步,今年追求的是把自己的基底在打的更穩,之前也沒機會來認真刷題,刷LeetCode就是在練習對演算法及...

鐵人賽 自我挑戰組 DAY 4

技術 Day-4 演算法分析概念

分析演算法 分析演算法,即是分析一個演算法的效率,來決定我們要使用哪一種演算法,而效率的分析方式通常會使用時間進行分析,忽略記憶體,或是頻寬之類的議題。 在分析...

鐵人賽 自我挑戰組 DAY 3

技術 Day-3 insertion sort與循環不變式

插入排序(insertion sort) Input: 一連串正整數所成的集合 { }Output: 一連串已經過排序的正整數集合 { },且 雖然概念上我...

鐵人賽 自我挑戰組 DAY 2

技術 Day-2 演算法介紹

演算法(Algorithms) 大致上來說,演算法為具有明確定義的計算過程,根據輸入得到不同的輸出,演算法就是一個將輸入變成輸出的一連串的計算過程,且須要具備五...

鐵人賽 Software Development DAY 1

技術 【Day1】資料結構 + 演算法

程式設計中資料結構與演算法是非常重要的兩大項目,彼此之間都會影響程式的運作。 資料結構 電腦在儲存資料時,會儲存在電腦的記憶體中,而資料可以有不同的儲存與組織...

鐵人賽 自我挑戰組 DAY 1

技術 Day-1 簡介與參賽動機

簡介 第一次參加鐵人賽,大家好,ID的由來為相信任何一門技術,只要投注心力,與正確的學期方向,就能夠將技術使用的,徐以杓酌油瀝之,自錢孔入,而錢不溼般的靈活自如...

技術 [DSA] Overview: Complexity Analysis

Data StructureHow to manipulate data?Data structure is a way to manipulate, or...

技術 [用 Python 解 LeetCode] (005) 189. Rotate Array

題幹懶人包 給一個數組,旋轉數組 K 次,K 非負數,如以下 附註:盡量想越多種解法越好,想到之後可否利用空間複雜度 O(1) 完成 Input: nums =...

技術 [用 Python 解 LeetCode] (004) 277. Find the Celebrity

這題因為 leetcode鎖起來,所以我們跑去做Lintcode上面的第 645題 Find the Celebrity 題幹懶人包 從派對裡面找名人,要是名人...

技術 [用 Python 解 LeetCode] (003) 80. Remove Duplicates from Sorted Array II

題幹懶人包 給定一個排列好的列表,將它整理成重複項最多出現兩次,比方說以下 [1,1,1,2,2,3] -> [1,1,2,2,3, ...] 最後回傳...

技術 [用 Python 解 LeetCode] (002) 26. Remove Duplicates from Sorted Array

題幹懶人包 基本上跟27題很像,輸入是一個已經排序好的數組,最後輸出非重複數值的數量,然後以下幾點要注意: 只能修改該數組,利用的空間複雜度最多為1(意思就...

技術 [用 Python 解 LeetCode] (001) 27. Remove Element

題幹懶人包 輸入一個數組及一個數,最後輸出一個數值代表非重複數值的數量,然後以下幾點要注意: 只能修改該數組,利用的空間複雜度最多為1(意思就是不能創建新的...

技術 Leetcode/AlgoExpert 解題筆記 – Array 篇 (1)

嗨大家好,這系列的文章主要是想紀錄我在寫 Leetcode / AlgoExpert 的題目時的一些所思所想,跟大家分享之餘也做個筆記,方便日後需要的時候可以回...

技術 Week40 - 各種安全性演算法的應用 - 竄改、抵賴實作 [高智能方程式系列]

本文章同時發佈於: Medium iT 邦幫忙 大家好,繼上次Week39 - 各種安全性演算法的應用 - 竊聽、電子欺騙實作之後,這次要介紹竄改...

技術 Week38 - 各種安全性演算法的應用 - 概念篇 [高智能方程式系列]

本文章同時發佈於: Medium iT 邦幫忙 大家好,這幾天較有時間,終於可以好好的思考文章 XD。由於最近周遭的朋友對安全性演算法這個詞時常感...

鐵人賽 Software Development DAY 30
舌尖上的演算法 系列 第 30

技術 Day30 -- Algorithm X and Sudoku

本文同步分享於個人Blog → InformisTry-HankLee 前言 昨天介紹了Algorithm X的概念和流程,但跟數獨又有什麼關係呢?這個問題我大...

鐵人賽 Software Development DAY 29
舌尖上的演算法 系列 第 29

技術 Day29 -- Sudoku - Algorithm X

本文同步分享於個人Blog → InformisTry-HankLee 前言 昨天我們介紹了如何使用Backtracking的方式來破解數獨,這個Backtra...

鐵人賽 AI & Data DAY 19

技術 Neo4j Data Science - 演算法實作資料分析

在上一篇文章介紹了在 Neo4j 做資料分析前的準備動作,評估記憶體用量和建立子圖,今天我們就來嘗試其中兩個演算法,中心位置演算法的 Page Rank 和群聚...

鐵人賽 AI & Data DAY 18

技術 Neo4j Data Science - 評估記憶體與建立子圖

在前面的文章中,有介紹過 Neo4j Bloom,不過在產品定位上,它仍比較是一個視覺化的資料互動工具,如果我們需要跑一些特殊的演算法,例如要尋找一個圖的中心點...

鐵人賽 Software Development DAY 27
舌尖上的演算法 系列 第 27

技術 Day27 -- Greedy Techniques - Dijkstra's Algorithm

本文同步於個人Blog → InformisTry - HankLee 前言 今天是這一個系列文章所要正式介紹的最後一個演算法了,而今天要講的這個演算法也是屬於...