- 손고리즘-2 (다시 한번) 파이썬을 이용한 알고리즘 기초
- 손고리즘-시즌3 알고리즘 문제 해결 스터디
- 한국정보올림피아드 교재
- 한국정보올림피아드 온라인 강좌
- 발표자료, 슬라이드들
- 2015-2017 가을학기 자료구조 및 실습
- Dictionary of Algorithms and Data Structures
- Intel ME (Manageability engine) Huffman algorithm
- Basics of Huffman Coding
- BaseClass - What is Huffman Coding?
- how does the huffman tree work in word2vec?
- The art of shuffling music
- algorithmist.com
- An Open Marketplace For Algorithms
- Harvard
- MIT
- Problem Solving with Algorithms and Data Structures
- Stanford University Algorithms: Design and Analysis, Part 1
- My favorite free courses to learn data structures and algorithms in depth
- Data Structures and Algorithms Full Course with FAANG Interview Questions Solved | DS Algo Tutorial - YouTube
- Data Structures Full Course | Data Structures And Algorithms Full Course | Simplilearn - YouTube
- Top 5 Courses to learn Data Structures and Algorithms in Python in 2022 - Best of Lot
- Top 5 Courses to learn Data Structure and Algorithms in 2022 - Best of Lot UPDATED
- Top 5 Free Data Structure and Algorithm Courses for Java and C Programmers
- Best Resources to Learn Data Structures and Algorithms YouTube, Books
- Data Structure - YouTube
- Design & Analysis of Algorithm - YouTube
- Approaches for Efficiency Analysis of Algorithm - CodeCrucks
- 바킹독의 실전 알고리즘
- N-Queens solved using backtracking in Elixir
- N-Queens Combinatorial Puzzle meets Cats
- 6 Introduction to Backtracking - Brute Force Approach
- 가능한 모든 조합을 트리 형식으로 그리고, bounding function(constraint check function)으로 제약 조건으로 노드를 검사해서 false면 해당 sub tree를 그리지 않음
- 백트래킹과 가지치기에 대해서 예제 문제를 통해 알아봅시다 backtracking
- 🔴 Announcing Backtracking Challenge & Give-away | Backtracking & Recursion SDE Sheet| FAANGM - YouTube
- Persistent Vector Performance Summarised
- Cryptographic Data Structures
- ACM ICPC World Finals 2015 문제 공개
- 2024 ICPC Asia Pacific Championship 후기 | JusticeHui가 PS하는 블로그
- Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)
- solving linear range checks
- algorithms in javascript - Collection of computer science algorithms and data structures written in JavaScript
- Binary data structures: an intro to trees and heaps in JavaScript
- The complexity of simple algorithms and data structures in JS
- Algorithms in JavaScript
- JavaScript 알고리즘 및 자료 구조
- JavaScript Algorithms and Data Structures
- A Step Towards Computing as a Science Simple Algorithms & Data Structures in JS
- javascript-algorithms: 📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- 5 Best JavaScript Data Structure and Algorithms Courses for Beginners to Learn in 2022 - DEV Community
- JavaScript 기술면접 라이브 코딩 대비 I
- JavaScript 알고리즘 및 자료 구조
- 자바스크립트 개발자가 알고리즘을 C언어로 푸는 이유 | 요즘IT
- Using the Right Datastructure for the job
- Algorithms for text fingerprinting?
- Revring: A circular buffer with zero memory waste
- The Universal Data Structure
- A Faster Pseudopolynomial Time Algorithm for Subset Sum
- Rounding Algorithms 101
- What does it mean for an algorithm to be fair?
- 권력이 된 ‘알고리즘’, 영업비밀로 남겨둬야 할까
- StegChat: A Synonym-Substitution Based Algorithm for Text Steganography
- Frequency Counting Algorithms over Data Streams
- Faster than Bresenham’s Algorithm?
- TEN LITTLE ALGORITHMS, PART 1: RUSSIAN PEASANT MULTIPLICATION
- Using Ring Buffer Logging to Help Find Bugs
- Bin Packing Problem: Two Approximation Algorithms
- A step-by-step guide to building a simple chess AI
- Chess Engines: A Zero to One
- Fisher-Yates shuffle
- The Stack Overflow Tag Engine – Part 2
- Maze Classification
- A Python Module for Maze Search Algorithms | by Muhammad Ahsan Naeem | Sep, 2021 | Towards Data Science
- Google Is Working On A New Type Of Algorithm Called “Thought Vectors”
- Making maps with noise functions
- Romantic Cryptography
- Network Science - by Albert-László Barabási
- 2 Cups 100 Floors
- The Best of the 20th Century: Editors Name Top 10 Algorithms
- DAWG data structure in Word Judge
- Some Algorithms implemented in Go
- Algorithms in the Real World: Host Matching
- Theorists Draw Closer to Perfect Coloring
- Picking the right data structure
- Probabilistic algorithms for fun and pseudorandom profit
- Top 10 algorithms in Interview Questions
- Top 10 Algorithms and Data Structures for Competitive Programming
- 50+ Data Structure and Algorithms Interview Questions for Programmers
- 페이스북 뉴스피드 알고리즘 해부: 내 글을 멀리 전파하려면?
- 첫 번째 startlink.live - YouTube
- Shazam in Java
- abracadabra: How does Shazam work? - Cameron MacLeod
- 그렙, 알고리즘 학습 서비스 무료로 공개
- Coder's high 2016
- 자료구조와 알고리즘 with C++
- Building a Modern Computer from First Principles
- Welcome to 99 Bottles of Beer
- Knapsack Problem
- Lazy Linear Knapsack
- Knapsack Problem - YouTube
- zerocho.com/category/Algorithm
- 입 개발 base62와 진법 연산
- 입 개발 base64 가 있는데 base62 같은걸 왜 써야 하나요?
- URL, HEX, BASE64 디코딩
- Base64 알고리즘
- Base64 Encoding, Explained
- 개발하면서 자주 보는 Base64의 동작 방식을 RFC 4648을 공부하고 정리한 글
- 대소문자 알파벳, 숫자, +, /의 64개의 문자를 사용해서 Base64
- 주어진 텍스트를 이진 표현으로 변환한 뒤 각 비트를 6비트로 나누고 각 그룹을 0~63 사이의 소수로 변환한 뒤에 Base64 알파벳으로 변환
- 개미 수열을 푸는 10가지 방법
- ko.khanacademy.org/computing/computer-science/algorithms
- Algorithm Top 10 Articles (v.November)
- 2015 봄학기 알고리즘
- 알고리즘 강의 알고리즘을 바라보는 눈
- Algorithm Study Day By Day
- Minimal examples of data structures and algorithms in Python
- Minimal examples of data structures and algorithms in Scala
- Scala Algorithms - Master your Scala algos
- LRU 알고리즘
- Implement LRU Cache | Implement LRU Cache using HashMap & Doubly Linked List | Programming Tutorials - YouTube
- 알고리즘
- d2.naver.com
- 100 days of algorithms
- 카카오 코드 페스티벌 예선전 이야기
- 카카오 코드 페스티벌 본선 이야기
- 카카오 신입 공채 1차 코딩 테스트 문제 해설
- 카카오 신입 공채 2차 코딩 테스트 문제 해설
- 카카오 신입 공채 3차 코딩 테스트 문제 해설
- tech.kakao.com/files/kakao-blind-recruitment.pdf
- 카카오 블라인드 공채 해킹하기
- TDD로 풀어본 카카오 블라인드 1차 시험
- 코드 페스티벌 2018 본선 이야기
- 2019 카카오 신입 공채 1차 코딩 테스트 문제 해설
- 코드 페스티벌 2018 본선 이야기
- 2019 카카오 블라인드 공채 2차 오프라인 코딩 테스트 문제 해설 elevator 엘레베이터 시뮬레이션
- 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설
- 카카오 BILND 공채 코딩 테스트 강의
- 2018년도 카카오 블라인드 코딩 테스트 채용 - 전체 문제풀이 (총 38분)
- 2019 카카오 개발자 겨울 인턴십 코딩 테스트 문제 해설
- 카카오 호텔 방 배정 map 을 이용해서 깔끔하게 처리합시다
- 2020 카카오 인턴십 for Tech developers 문제해설 – tech.kakao.com
- 2021 카카오 신입공채 1차 온라인 코딩 테스트 for Tech developers 문제해설 – tech.kakao.com
- 2021 카카오 신입공채 2차 온라인 코딩 테스트 for Tech developers 문제해설 – tech.kakao.com
- 2021 카카오 인턴십 for Tech developers 코딩 테스트 해설 – tech.kakao.com
- 2022 카카오 신입공채 1차 온라인 코딩 테스트 for Tech developers 문제해설 – tech.kakao.com
- 2022 카카오 신입공채 2차 온라인 코딩 테스트 for Tech developers 문제해설 – tech.kakao.com
- 2022 테크 여름인턴십 코딩테스트 해설 – tech.kakao.com
- 2023 카카오 신입 공채 1차 온라인 코딩 테스트 for Tech developers 문제해설 – tech.kakao.com
- 2023 카카오 신입 공채 2차 온라인 코딩 테스트 for Tech developers 문제해설 – tech.kakao.com
- 2024 카카오 겨울 인턴십 코딩테스트 문제해설 - tech.kakao.com
- 2019년 상반기 LINE 인턴 채용 코딩테스트 문제 해설
- Programming Puzzle Solutions
- "I don't know the numbers": a math puzzle · Caffeinspiration
- 프로그래밍을 잘하는 5가지 방법 — 1. 자료구조와 알고리즘 공부하기
- Awesome Algorithms
- awesome-algorithms python problem solving
- Python으로 시작하는 알고리듬
- All Algorithms implemented in Python
- Problem Solving with Algorithms and Data Structures using Python
- research!rsc: Version SAT Dependency hell is NP-complete
- P-NP, NP Hard, NP Complete
- P-NP 에 대하여
- 난제 PNP 문제 - YouTube
- Number Theory: Nice Generalization of the Waring Conjecture
- Algorithms I : Searching and Sorting algorithms
- Can anyone at Google or Amazon share what algorithms you find most useful over the years of your career?
- Shortest Range in K sorted lists
- [Algorithms to Live By — Brian Christian and Tom Griffiths(https://medium.com/@westofthesun/algorithms-to-live-by-brian-christian-and-tom-griffiths-9c58a7f5c9a9)
- 알고리즘 학습에 대한 조언 - 용균
- 탐욕 알고리즘
- Introduction to Greedy Method - YouTube
- Maximum Perimeter Triangle with Greedy Approach | by Pulsara Sandeepa | Oct, 2020 | Level Up Coding
- Job Sequencing with Deadlines (ASP) - Greedy Method - TutsPack
- 나도 해보는 Fizz Buzz Test
- How to Skin a Cat: FizzBuzz in Five Languages
- Fizz Buzz in Python. Solving the preeminent code interview… | by Keno Leon | Medium
- 나눗셈 연산을 곱셈으로 프로그래밍 할 수 있음?
- Divide and Conquer Algorithms
- 나머지 연산자 없이 x % 256 계산하기
- 나머지 연산자 없이 x % (2의 거듭제곱) 계산하기
- 최상위 비트의 위치 찾는 방법 low-level을 이용해서 O(logN)으로 구현하기
- 거니와 함께 배우는 알고리즘 체널, ALGOTOGETHER 체널에 오신것을 환영합니다!
- A Short Summary of Smoothing Algorithms
- Parse Tree
- The Algorithms Open Source Resource for Newbies to Learn Algorithms and Implement them in any Programming Language
- Data Structure and Algorithms Tutorial
- n개의 제비뽑기에 n번 도전
- Coding Your First Algorithm — Draw A Line
- What’s the smallest possible number? — Programming Word of the Day
- na982.tistory.com/category/Data Structure
- Introduction to Algorithms Abdul Bari
- The Two Egg Problem
- General Egg Problem
- Maximum Subarray Problem
- Leetcode Maximum subarray solution – Software Development Done Right
- Smallest Subarray with Sum Greater than or Equal to K (Target) | Sliding Window - YouTube
- 악마와 동전 게임
- 알고리즘의 개념과 알고리즘의 효율적 설계
- Python 100제
- Python 코딩테스트 꿀팁 저장소 · yunsikus
- Optimal Stopping - 최고의 선택 문제
- 수학과 함께 복잡한 문제를 단순하게 만들자!
- 평방 분할 (Sqrt Decompositon) : 루트로 쪼개보자
- leetcode
- Topic wise problems for Beginners
- Best Posts of 2019
- LeetCode’s 132 Pattern Explained
- Leetcode 1342 - Number of Steps to Reduce a Number to Zero (Google Interview Question) - YouTube
- Introduction · GitBook
- New Year Gift - Curated List of Top 75 LeetCode Questions to Save Your Time - Blind
- Grokking LeetCode: A Smarter Way to Prepare for Coding Interviews | by Arslan Ahmad | InterviewNoodle | Nov, 2021 | Medium
- Algorithms and Datastructure Archives - IndusTechie
- Solve “Network Delay Time” & “Path with Maximum Probability” Using Dijkstra LeetCode 743, 1514 - YouTube
- LeetCodeSolutions: C++ / JAVA Solutions for LeetCode Problems || Daily Update
- LeetCode Solutions | Java - YouTube
- Sort Characters By Frequency LeetCode | Sort Characters by Frequency Java | LeetCode 451 - YouTube
- algo_crawler
- LeetHub: Automatically sync your leetcode solutions to your github account - top 5 trending GitHub repository
- Top FAANG question Top K Frequent Elements - YouTube
- JavaScript Interview Question | Move All Zeros in an Array to End of the Array - YouTube
- House Robber Google, Amazon, Apple, Microsoft coding interview question Dynamic programming Leetcode - YouTube
- Binary Tree Maximum Path Sum: 124 - Tree interview Question @ Google, apple, Amazon, meta, microsoft - YouTube
- 프로그래머스 가장 큰 수 : 수 2개만 고려해 봅시다
- Employee Scheduling
- Odd numbers in Pascal’s triangle
- 좌표 압축 알고리즘 : 범위가 클 때 어떻게 공간을 줄일까요?
- 큰 수를 어떻게 좌표 압축하면 좋을까요
- 8 Common Data Structures every Programmer must know
- 파이썬 주식 최대 수익 알고리즘 #15
- 항등식으로 구현체를 외울 수 있는 확장 유클리드 알고리즘
- 백준 배열 돌리기 4 요소별로 나누면 어렵지 않다
- 백준 배열 돌리기 5 : 전략적인 브루트 포스로 풀어봅시다
- 백준 삼성 역량테스트 기출문제 특강 - YouTube
- 많이 언급되는 rsa 알고리즘을 알아봅시다
- 귀류법 명제가 거짓임을 가정한다
- event driven ps 문제에서 간단하게 활용해 봅시다
- 실무 개발자에게 알고리즘은 덜 중요할까?
- 실무 개발자에게 알고리즘은 덜 중요할까? (2)
- lis 알고리즘 : lower_bound 이용해서 그리디하게 해결해 봅시다 longest increasing sequence 최장 증가 수열
- marking 배열과 sparse array
- 슬라이딩 윈도우 알고리즘 : 2개의 커서가 중요하다
- An Introduction to Sliding Window Algorithms | by Jordan Moore | Level Up Coding
- 알고리즘 문제풀이 #4 코딩도장 지뢰찾기 이야기
- na982 :: 삼성 SW 역량 테스트 어른 상어
- 배열에서 가장 큰 직사각형 구하기 : 관찰을 통해 풀어봅시다
- All Pythagorean Triplets in Optimal Time Complexity | Level Up Coding
- Essential Data Structures for Every Programmer | by Mahdhi Rezvi | Better Programming | Nov, 2020 | Medium
- 6 Algorithms Every Developer Must Know | Richard | Dare To Be Better
- 알고리즘 - 부경대학교 | KOCW 공개 강의
- 정점 분할 : 노드를 상태에 따라 여러 개로 쪼갠다
- 많이 언급되는 오프라인 쿼리 간단하게 훑어봅시다
- BaaaaaaaarkingDog | '강좌/실전 알고리즘' 카테고리의 글 목록
- 자료구조 카테고리 목록
- Algorithms for Decision Making
- Count min sketch
- Count Min Sketch 대충 이해하기 - Google Slides
- 노벨상의 매칭 알고리즘, 게일-섀플리(Gale-Shapley) 알고리즘 1:1 match
- Two Pointer Algorithm | Two Sum Problem | Solve DS Problems in O(N) Time - YouTube
- 코테 실전 대비! 자료구조와 함께 배우는 알고리즘 입문 - SLiPP 스터디 - SLiPP::위키
- Hacker Rank - SLiPP 스터디 - SLiPP::위키
- Facebook Hacker Cup 2019 Online Qualification Round - Nephtyw’S Programming Stash
- nested-data-structure-traversal
- Count negative numbers in a sorted matrix, 13 Languages - YouTube
- 518일동안 단 하루도 빠지지 않고 알고리즘을 풀었다. | kwiki
- 알고리즘과 자료구조를 우선적으로 공부할 필요는 없습니다. | overcurried
- 알도개 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조
- 가희배 코테에 나온 수인분당선 문제를 세팅한 이야기
- Decimal Number To Binary | Python | Problem #1 - YouTube
- Algorithm – 1ambda
- Given N, find the smallest number with the same number of digits | CODER SITE for developers
- Find the smallest number with the same number of digits | Javarevisited
- Shopping options | CODER SITE for developers
- Merge two Sorted Lists | CODER SITE for developers
- Optimize a basket in online purchases | CODER SITE for developers
- Algorithm Archives - CodeCrucks
- How to Find the Largest and Smallest of Three Numbers in Java? Solved | Java67
- Solutions2Coding - S2C- An online Platform for Coding solutions
- 가희와 쓰레기 놀이 : 메타 정보를 잘 저장해서 효율적으로 구현해 봅시다.
- The Algorithm behind Credit Card Verification | by Christianlauer | CodeX | Feb, 2022 | Medium
- Algorithm_CS_Study/Stanford at master · engineerJPark/Algorithm_CS_Study
- 아주 큰 정수의 곱셈은 어떻게 하면 좋을까요? feat. by 카라츠바 알고리즘 - YouTube
- GJK: Collision detection algorithm in 2D/3D
- Algorithms for Modern Hardware - Algorithmica
- How a Smart Algorithm Can beat a Great Hardware? - CodeCrucks
- 코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
- How to Solve the Parking Lot Challenge in JavaScript
- 알고리즘 문제해결의 관점에서 프로그래밍 언어라는 것은 – shifted
- GitHub - jskDr/Rust: All Algorithms implemented in Rust
- A Gentle Introduction to CRDTs - vlcn.io Conflict Free Replicated Data types (CRDTs)
- 동시 편집 에디터 등에서 사용하는 CRDT(Conflict Free Replicated Data types) 동작 설명
- CRDT는 오프라인에서도 문서를 수정하고 온라인이 되면 동기화가 이루어져서 같은 결과본을 갖게 되므로 지연 동기화, 서버리스 싱크 가능
- 이를 CRDT없이 구현하려면 마지막에 수정된 변경 사항을 선택해야 하는데
- 분산된 상황에서 마지막 변경 사항임을 알기 위해서 시간 값을 사용하는 것은 많은 문제 발생
- CRDT는 이를 논리적 시계로 만들어 구현
- 각 상황에서 실행해 볼 수 있는 예제를 제공
- The Drunk Passenger Problem. An interesting and seemingly difficult… | by Rishi Dey Chowdhury (RishiDarkDevil) | Medium
- 100배 더 빠른 경로 최적화 솔루션을 제공하는 기록적인 NVIDIA cuOpt 알고리즘 - NVIDIA Technical Blog
- 1 Billion Row Challenge
- 세션 게임의 매치메이킹 알고리즘. Elo, Glicko, TrueSkill, EOMM 그리고… | by scalalang2 | 취미로 논문 읽는 그룹 | Jun, 2024 | Medium
- 24' 현대모비스 알고리즘 대회 후기. 2024년 현대모비스 알고리즘 경진대회에 다녀왔습니다. 간단하게… | by scalalang2 | scalalang | Jul, 2024 | Medium
- Algorithms we develop software by
- 2024 NYPC 예선 Round 1 / 2-A / 2-B 풀이 | JusticeHui가 PS하는 블로그
- Levenshtein distance
- Levenshtein automata can be simple and fast
- Of Levenshtein Automata implementations
- 편집 거리 알고리즘(Levenshtein distance, Edit distance)
- Technical interview with a Google engineer: Edit distance string comparison
- editdistance
- awesome-bits - A curated list of awesome bitwise operations and tricks
- Bitmask: There Is Space at the Bottom
- That XOR Trick
- 자료구조와 알고리즘에 대해서
- 더북(TheBook): 리얼월드 알고리즘 1~3장만
- Algorithms by Jeff Erickson
- Introduction - algo-en
- Grokking Algorithms Review - Best Book to learn Data Structure and Algorithms in Python
- Know Thy Complexities!
- Let’s simplify algorithm complexities!
- amortized 복잡도 : average complexity와 뭐가 다른가요?
- Big O Notation - explained as easily as possible
- Understanding Big O. How efficient is your algorithm? | by Valentin Podkamennyi | The Startup | Medium
- 알고리즘 시간 복잡도 대강 분석하는 방법을 예제를 통해 알아봅시다
- ALG 시간복잡도와 빅오 (Big-O) 표기법
- Big O Notation: Analysis of Algorithms - coding interview | CODER SITE for developers
- Python Big O: the time complexities of different data structures in Python - Python Morsels
1/2 + 1/3 + ... + 1/n <= ln(n) + 1
이므로 O(log N)- The Ultimate Beginners Guide To Analysis of Algorithm
- The 5 Fundamental Running Times in Computer Science
- 왜 유클리드 알고리즘 함수는 최악의 경우 O(log)일까?
- #5 How To Calculate Time Complexity Example 1| Designed To Crack Interviews | By LinkedIn Engineer - YouTube
- 파이썬 자료형 별 주요 연산자의 시간 복잡도 (Big-O) · 초보몽키의 개발공부로그
- Iteratively find all combinations of size k of an array of characters (N choose K)
- Print all possible combinations of r elements in a given array of size n
- 순열 조합 생성하기 python
- Use Fast Data Algorithms | Joey Lynch's Site
- Time-series compression algorithms, explained
- History of Lossless Data Compression Algorithms - ETHW
- Golomb coding
- Zip: Data compression (20분만에 배우는 압축 알고리즘) - Speaker Deck
- Distributed Consensus 알고리즘 정리
- Practical Byzantine Fault Tolerance
- Byzantine Fault Tolerance 시스템에서 N = 3f + 1인 이유
- Byzantine Failure - 블록체인 개발이 어려운 이유
- Protecting Byzantine Fault Tolerance with Trusted Execution
- A review of consensus protocols
- Check In, Not Out
- Instructors Guide to Raft
- Raft - 이해하기 쉬운 consensus algorithm
- Raft - leader election
- Raft - log replication
- Raft - Understandable Distributed Consensus
- Raft - consistency
- Raft - electionTimeout
- 2018년 21번째 주 - Consensus algorithm
- Tutorial Summary: Paxos Explained from Scratch
- Patterns of Distributed Systems • Unmesh Joshi & James Lewis • GOTO 2024 - YouTube Raft vs. Paxos
- The Raft Consensus Algorithm
- Raft 분산 합의 알고리즘과 Python에서의 활용
- Co-Designing Raft + Thread-per-Core Execution Model for the Kafka-API
- Raft Engine: a Log-Structured Embedded Storage Engine for Multi-Raft Logs in TiKV
- KRaft 파헤치기 Raft 알고리즘 톺아보기 :: 언제나 김김
- Top 10 data mining algorithms in plain English
- Yinyang K-Means: A Drop-In Replacement of the Classic K-Means with Consistent Speedup
- 빅마마 프로젝트 분석파트팀 K-MEANS 알고리즘 발표내용
- R로 간단하게 알아보는 K-Nearest Neighbor Algorithm ( KNN)
- Searching for Approximate Nearest Neighbours
- Decision Trees – Why Are They Useful and How To Create Them
- Decision Tree Algorithm for a Predictive Model
- Introducing Torch Decision Trees
- Everything You Need to Know About Decision Trees
- 디시전 트리 보는 방법 _ 전용준.리비젼
- Awesome Decision Tree Research Papers
- Introduction to Decision Trees (Titanic dataset)
- How to visualize decision trees
- Entropy: How Decision Trees Make Decisions
- dtreeviz : Decision Tree Visualization
- disjoint-set, union–find or merge–find set
- Union-Find 알고리즘
- What is the most underrated data structure?
- Union-Find Algorithm | Dev Log
- Egg Dropping Problem - Approach to write the code (Dynamic Programming) | GeeksforGeeks
- Grokking Dynamic Programming Patterns for Coding Interviews
- An Illustrative Introduction to Dynamic Time Warping | by Esmaeil Alizadeh | Oct, 2020 | Towards Data Science DTW
- A Dynamic Programming Model For Baseball
- LCS example
- Needleman–Wunsch algorithm
- 다이나믹 프로그래밍 시작하기
- 10. 동적 프로그래밍(DYNAMIC PROGRAMMING)
- 10. 동적 프로그래밍(DYNAMIC PROGRAMMING)
- 동적 프로그래밍(Dynamic Programming)
- 다이나믹 프로그래밍 (Dynamic Programming) 의 비밀
- What Is Dynamic Programming and How To Use It basic with fibonacci
- Dynamic Programming Interview Question #1 - Find Sets Of Numbers That Add Up To 16
- 19. Dynamic Programming I: Fibonacci, Shortest Paths
- Fibonacci Algorithm Different Solutions in JavaScript | by Betomoedano | May, 2022 | Medium
- Programming Interview:Algorithm:Dynamic Programming: Coin Changing Problem
- Dynamic Programming vs Divide-and-Conquer
- Change the signs: how to use dynamic programming to solve a competitive programming question
- Demystifying Dynamic Programming
- hackerearth dynamic programming
- geeksforgeeks Dynamic Programming
- Follow these steps to solve any Dynamic Programming interview problem
- The Ultimate Guide to Dynamic Programming
- Introduction to Dynamic Programming 1
- 2 Dimensional
- State space reduction
- Dynamic Programming and Bit Masking
- An intro to Algorithms (Part II): Dynamic Programming
- Dynamic Programming Patterns
- 부분 문제 그리고 메모이제이션 : 다이나믹 프로그래밍 할 때 많이 나오는 데 무엇일까요?
- Dynamic Programming Playlist | Coding | Interview Questions | Tutorials | Algorithm | By Flipkart SDE
- Dynamic Programming | Algorithms & Data Structures | Programming Tutorials | GeeksforGeeks
- My experience and notes for learning DP
- Obvious Dynamic Programming
- 코딩인터뷰 리트코드 #1197 Minimum Knight Moves
- (99+) Solved all dynamic programming (dp) problems in 7 months. - LeetCode Discuss
- Dynamic Programming(Beginner to Advanced) | Introduction | Lecture - 1 - YouTube
- Dynamic Programming(Beginner to Advanced) | 4 Steps to Solve any DP Problem | Lecture - 2 - YouTube
- Dynamic Programming - Learn to Solve Algorithmic Problems & Coding Challenges - YouTube
- Powerful Dynamic Programming Explanation - LeetCode Discuss
- Top 5 Courses to Learn Dynamic Programming for Coding Interviews in 2022 - Best of Lot
- Dynamic Programming Tutorial - Coin Change Problem Using Dynamic Programming | Scaler Academy - YouTube
- Dynamic Programming Crash Course | Advanced Data Structures And Algorithms Tutorial | Simplilearn - YouTube
- 30 Recursion Interview Questions and Coding Exercises for Programming Interviews | by javinpaul | Javarevisited | Aug, 2022 | Medium
- Dynamic Programming - CodeCrucks
- games of life - A Mathematical solution of any Game of Life variation
- Refactoring Conway's Game of Life | ArjanCodes Code Roast - YouTube
- A Field Guide to Genetic Programming
- 15 Real-World Uses of Genetic Algorithms
- 고2 때 하스스톤으로 진화론 연구했던 썰
- 얇고 넓은 지식을 위한 글 - 유전알고리즘
- Introduction to Genetic Algorithms — Including Example Code
- Genetic Algorithm Implementation in Python
- GeneticAlgorithmPython
- Genetic Algorithm Implementation in Python
- 유전 알고리즘
- Self-Parking Car in 500 Lines of Code | Trekhleb
- 2016 그래프이론
- How to think in graphs: an illustrative introduction to Graph Theory and its applications
- Exact Maximum Clique for Large or Massive Real Graphs
- Dijkstra - The Simple, Elegant Algorithm That Makes Google Maps Possible
- 다익스트라 알고리즘
- 11.3 다익스트라 알고리즘
- Dijkstra's algorithm in 3 minutes — Review and example
- Leetcode 743. 다익스트라 알고리즘 Dijkstra Algorithm
- 다익스트라 알고리즘 : 이미 결정된 노드의 인접 노드를 또 탐색하면 어떻게 될까요?
- 잘못 구현한 다익스트라 알고리즘 저격하기
- 정보를 잘 저장해서 사전순 다익스트라 문제를 풀어봅시다
- Dijkstra’s Algorithm for Coding Interviews | Single Source Shortest Path (Greedy Algorithm) - YouTube
- Contraction Hierarchies path finding algorithm, illustrated using three.js
- The Traveling Tesla Salesman
- Evolution of a salesman: A complete genetic algorithm tutorial for Python
- Computing the optimal road trip across the U.S.
- greuler is graph theory visualization tool powered by d3 and on top of WebCola which allows the creation and manipulation of graphs with a simple api
- A Quasipolynomial Time Algorithm for Graph Isomorphism: The Details
- qiao.github.io/PathFinding.js/visual
- How I Visualized Sorting Algorithms and Brought Them to Life with Sound
- The 280-Year-Old Algorithm Inside Google Trips
- BJ1260_DFS-AND-BFS ( 깊이우선탐색, 넓이우선탐색)
- 그래프 깊이 우선 탐색
- 미로에 빠진 쥐, DFS 알고리즘 코딩테스트 Python - YouTube
- Graphs: Depth-First Search | CODER SITE for developers
- Implement DFS traversal algorithm using python - TutsPack
- Traverse a Graph with a Depth-First Search Algorithm | InterviewNoodle
- Queue를 활용한 BFS
- 0-1 bfs 알고리즘 : 가중치가 0과 1만 있을 때 최단거리는 어떻게 구할까요?
- 미로에 물을 쏟아 최단 경로를 구해요. BFS 알고리즘 코딩테스트 Python - YouTube
- Breadth First Search (BFS) | Graph Traversal | Graph Search Algorithm - YouTube
- 양방향 탐색 : 시작점과 도착점에서 동시에 탐색을 한다
- Centrality
- PageRank
- Betweenness Centrality
- Closeness Centrality
- Partitioning
- Label Propagation
- (Weakly) Connected Components
- Strongly Connected Components
- Union-Find
- Path-Finding
- Minimum Weight Spanning Tree
- All Pairs — and Single Source — Shortest Path
- Multi-Source, Breadth-First Search
- Python: 2 Ways to Represent Graphs
- Graphs using Adjacency Lists | Code in Python
- Topological Sorting
- 위상 정렬 (topological sort)
- 왜 위상 정렬을 이용하면 그래프 사이클이 있는지 판단할 수 있을까요?
- Topological Sort | Graph Ordering Algorithm | Sorting | Graph Theory - YouTube
- 따라해보기 <C++, Win32 API> - FPS 추적, A Star 알고리즘
- A*보다 빠른 JPS 알고리즘
- A*보다 빠른 JPS보다 빠른 JPS+
- 8-퍼즐 문제와 A* 알고리즘: 1. 문제의 이해 - YouTube
- Introduction to the A* Algorithm
- Prim's algorithm in 2 minutes — Review and example
- 최소 비용 신장 트리(MST)와 크루스칼 알고리즘, 프림 알고리즘
- Kruskal 알고리즘 이란
- 18. 크루스칼 알고리즘(Kruskal Algorithm)
- Kruskal's algorithm in 2 minutes — Review and example
- MST(Minimum Spanning Tree)를 구하는 알고리즘인 크루스칼(Kruskal) 알고리즘, 프림(Prim)알고리즘을 설명하시오
- 병렬 이분 탐색 kruskal
- Kruskal’s Algorithm - CodeCrucks
- Bellman-Ford in 4 minutes — Theory
- Bellman-Ford in 5 minutes — Step by step example
- Floyd–Warshall algorithm in 4 minutes
- 플로이드 알고리즘 어떻게 최단거리가 갱신되는가
- Ford-Fulkerson in 5 minutes — Step by step example
- Top 10 Graph Algorithms you must know before Programming Interview | GeeksforGeeks
- 평생의 여행을 떠나기 위해 자동차에 뛰어 들라! (1 부)
- 평생의 여행을 떠나기 위해 자동차에 뛰어 들라! (2 부)
- 평생의 여행을 떠나기 위해 자동차에 뛰어 들라! (3 부)
- Algorithms Course - Graph Theory Tutorial from a Google Engineer
- My first Vue.js project: A Pathfinding Visualizer
- 파이썬 그래프 알고리즘 친구의 친구 찾기 #13
- 파이썬 모델링 그래프 알고리즘 미로 찾기 #14
- 몬테카를로 트리 탐색 미니맥스 크루스칼 다익스트라
- 백준 최소 환승 경로 : 허브와 노드를 생각하자
- 이웃한 두 수의 합이 제곱수인 순환 hamilton cycle
- TYPES OF GRAPHS (DATA STRUCTURES & ALGORITHMS) - YouTube
- Graph Representation(Data Structures & Algorithms) - YouTube
- Sparse Table
- How to compute the Hamming distance
- Hamming Code | Error detection Part
- Shortcut for hamming code
- Hamming Code - Simply Explained
- Hamming code error detection and correction example, calculation algorithm program computer network
- How to calculate Hamming Code step by step
- Hamming Error Correcting Code Example
- Hamming Code Error Detection and Correction Visualization
- A gentle introduction to Hamming codes
- C++, Java 해시 테이블 구현
- Robin Hood hashing: backward shift deletion
- Hashing@HackerEarth
- Trie vs Hash Table Deathmatch!
- Counting hash collisions with the birthday paradox
- 해싱 - 1 해시의 정의와 목적
- 해싱 - 2 해시와 탐색
- 해쉬함수
- Hash Tables and Hash Functions
- An Introduction to Hashing in the Era of Machine Learning
- SHA-256 Hash Algorithm
- SHA-256 프로세스 정리
- Animation of the SHA-256 hash function in your terminal
- 재해싱 (rehashing) : 시간 복잡도를 분석해 보면서 왜 필요한지 알아봅시다
- Why databases use ordered indexes but programming uses hash tables
- This article looks at why hash maps (unsorted) are popular for in-memory indexes whereas b-tree (sorted) are common in databases. It describes the trade-offs of the two approaches, and how those best fit in-memory/db use cases.
- 해시 - YouTube
- MinHash란? - 완두블로그
- MurmurHash - Wikipedia
- neuralhash-collisions: A catalog of naturally occurring images whose Apple NeuralHash is identical
- 입 개발 Consistent Hashing 에 대한 기초
- The easiest consistent hashing
- Jump consistent hash
- Consistent hashing, a guide & Go library
- ketama - C library for consistent hashing, and langauge bindings
- redis-hashring - A Python library that implements a consistent hash ring for building distributed apps
- Consistent Hashing: Algorithmic Tradeoffs
- What is Consistent Hashing and Where is it used?
- How we implemented consistent hashing efficiently
- Consistent Hashing Simplified
- Consistent Hashing 스스로 구현도 해보고 여러가지 참고할만한 링크 포함
- Gossip Dissemination
- EP07: Consistent hashing and consistency level - YouTube
- Fixing the hashing in "Hashing modulo α-equivalence" - Paul Khuong: some Lisp
- Consistent hashing algorithm - High Scalability -
- Simple basic explanation of a Distributed Hash Table (DHT)
- Distributed Hash Tables And Why They Are Better Than Blockchain For Exchanging Health Records
- Kademlia 분산 해시 테이블 적용기
- 알고달레
- The Algorithms
- Algorithms animated — chrislaux.com
- Algorithm-Coding-Test-Data-Analysis/algoview: 알고리즘 테스트 데이터 분석 서비스
- Algorithm Visualizer
- Data Structure Visualizations
- OpenDSA - infrastructure and materials to support courses in a wide variety of Computer Science-related topics such as Data Structures and Algorithms (DSA), Formal Languages, Finite Automata, and Programming Languages
- OR-Tools | Google Developers
- or-tools: Google's Operations Research tools:
- 쏘카 예약을 효율적으로 - 수학적 모델링을 활용한 쏘카 예약 테트리스 - SOCAR Tech Blog
- 쏘카에서 차량의 운영효율을 높이기 위해 알고리즘 개발에 비해 짧은 시간 안에 좋은 결과를 도출할 수 있는 Solver를 사용해서 최적화 문제 해결
- 최적화 모델을 찾아서 Google OR-Tools로 구현해서 GCP 배포해서 운영한 결과 이전보다 평균적인 차량 사용 비율이 4% 증가
- Pyalgo20
- qiao.github.io/PathFinding.js/visual 각 길찾기 알고리즘의 동작을 보여주는 시뮬레이터
- thewalnut.io
- An introduction to linked lists: the why, the what, and the how
- An introduction to doubly linked lists: using code to control data
- Reversing a Linked List: Easy as 1, 2, 3
- Simple Linked Lists Data Structure in Python | by Andreas Soularidis | Python in Plain English
- linked-list-good-taste: Linus Torvalds' linked list argument for good taste, explained Linus Tovalds의 double pointer를 사용한 구현. special case를 없애기 위함
- Minimax
- Tic Tac Toe: Understanding The Minimax Algorithm
- How to make your Tic Tac Toe game unbeatable by using the minimax algorithm
- Minimax with Alpha Beta Pruning
- minimax algorithm
- Predict the Winner
- ‘쉽게 설명한’ 구글의 페이지 랭크 알고리즘
- Application of PageRank algorithm to analyze packages in R
- 검색은 어떻게 동작하나요
- Worked PageRank Example
- Compute The Next Permutation of A Numeric Sequence - Case Analysis ("Next Permutation" on Leetcode)
- MergeShuffle: A Very Fast, Parallel Random Permutation Algorithm
- 모든 Permutation 출력하기
- How to Check if Strings are Permutation of each other | C++ Program | Tagalog - YouTube
- Probablistic Filter 확률론적 필터 Bloom Filter, Counting Filter, Cuckoo hash
- Ribbon filter: Practically smaller than Bloom and Xor
- Probabilistic data structures for processing continuous, unbounded streams
- PROBABILISTIC M2M RELATIONSHIPS USING BLOOM FILTERS
- What are Bloom filters?
- inbloom - Cross language bloom filter implementation java, go, python
- dlCBF - d-left Counting Bloom Filter
- 아주 심플한 블룸필터의 원리
- What are Bloom filters?
- Bloom filters
- BloomFilter 의 원리 - Google Slides
- 알아도 도움안되는 얕은 개발 지식들 - Google Slides
- A collection of algorithms
- Balanced Brackets
- Project Euler # 43 in JavaScript — Sub-String Divisiblity in Pandigital Numbers
- Croatian Open Competition in Informatics(COCI) 문제 정리
- project euler - Wireframe
- PCG, A Family of Better Random Number Generators
- Evolution of random number generators RANDU MINSTD PCG
- The Ziggurat Algorithm for Random Gaussian Sampling
- 폰 노이만식 난수 생성법(Basic von Neumann extractor)
- 컴퓨터가 만드는 랜덤은 정말로 랜덤일까?
- solitairelaboratory.com/mshuffle.txt
- 재귀 알고리즘
- StrongLikeBull - a Lesson in Recursion
- Recursion, Tail Calls and Trampolines
- 자바 프로그래머에게 재귀는 왜 어려운가?
- Isnt tail recursion very similar to the concept of looping? What is the need for tail recursion when you can achieve the same using loops?
- How Recursion Works — explained with flowcharts and a video
- 재귀의 폭풍
- Recursive Programming
- How to build up an intuition for recursion
- Finally! A proven strategy for quickly solving any recursive problem...
- 하노이의 탑 설명 · Present
- 7 Best Courses to learn Recursion for Programming and Coding Interviews in 2022 | by javinpaul | Javarevisited | May, 2022 | Medium
- 재귀호출 쉽고 확실하게 이해하기 - YouTube
- Algorithms for Interview 1: Stack
- Algorithms for Interview 2: Monotonic Stack
- Implementing a Stack in JavaScript
- The Stack — what is it exactly, and how does it work in JavaScript? | by Matthew Taylor | The Startup | Medium
- Stacks and Queues in Python. Learn 2 popular linear data structures. | by Keno Leon | Level Up Coding
- A* search algorithm
- Cache-friendly binary search
- 등차수열에서 중간에 빠진 수 구하기 : binary search 기법으로 풀면 된다
- Elusive Algorithms – Parallel Scan
- Fast Search in Hamming Space with Multi-Index Hashing
- JPS+: Over 100x Faster than A*
- Adversarial Search
- Extra, Extra - Read All About It: Nearly All Binary Searches and Mergesorts are Broken
- How We Beat C++ STL Binary Search
- How to implement a Binary Search Algorithm in Java without recursion
- 이분 탐색, Binary search #10
- Fast pattern search in Swift... since 1974
- Reverse Morris In-order Traversal
- Sudokus and Schedules Solving Scheduling Problems with Tree Search
- 백준 공유기 설치 왜 이분탐색이 가능한가
- Searching & Sorting Algorithms Full Course 2022 | Data Structures Explained 2022 | Simplilearn - YouTube
- 이진 탐색은 어디까지 빨라질 수 있을까? k-ary Search Tree
- Search Algorithm - YouTube
- 15 Sorting Algorithms in 6 Minutes
- Inefficient sort algorithms
- TEN LITTLE ALGORITHMS, PART 4: TOPOLOGICAL SORT
- Bubble Sort: An Archaeological Algorithmic Analysis
- Sorting out graph processing
- Fastest way to sort 10 numbers? (numbers are 32 bit)
- Efficiently Sorting Linked Lists
- Sorting Algorithms Animations
- AlgoRythmics
- Why is mergesort O(log n)?
- 병합 정렬, merge sort #9
- Stability in Sorting Algorithms — A Treatment of Equality
- Fastest Sorting Algorithm. Ever! sort algorithm time complexity 분석
- Typescript 정렬 알고리즘
- The Sounds of Sorting Algorithms
- 인트로 정렬 : c++의 sort는 왜 최악의 경우에도 빠르게 동작하는가?
- k번째 수 찾기:count sort를 응용해 봅시다
- Tim sort에 대해 알아보자
- Beating TimSort at Merging - Earthly Blog
- 파이썬의 정렬 알고리즘 Timsort (삽입정렬 + 병합정렬)
- Selection Sort Algorithm Visually Explained
- median of median : 피벗을 중앙의 중앙값을 선택한다
- Sorting Algorithm - YouTube
- A Historical Perspective and Empirical Study
- Typelevel quicksort in Scala
- glibc/stdlib/qsort.c quicksort
- Implementing Quicksort in JavaScript
- Implementing Quicksort in JavaScript
- Let’s Sort It Out, The Quicksort Way
- 알고리즘 – Quick Sort (퀵정렬)
- String Interview Questions: The Ultimate Guide
- Beating Textbook Algorithms in String Search
- Code optimization, how to optimize the code, code performance, how to increase code performance, how to make code more readable. | JavaScript In Plain English palindrome
- 문자열 padding 처리로 가희와 파일탐색기 문제를 풀어봅시다
- Top 20 String Algorithm Questions from Coding Interviews
- Longest Substring Without Repeating Characters 문제를 풀면서 슬라이딩 윈도우를 정복해 봅시다
- Longest Substring with maximum K Distinct Characters - YouTube
- DSA-1.25 (Longest Substring With Unique Characters) - YouTube
- Aho Corasick
- BM
- Fast Algorithms for Exact String Matching
- Fast String Matching for Analytics Quality at JW Player
- Fuzzy string matching using cosine similarity
- KMP Knuth-Morris-Pratt
- Manacher's algorithm
- Rabin-Karp
- Substring search algorithm
- Z algorithm
- Lock-Free Data Structures. Exploring Queues
- Cache optimizing a priority queue
- The Importance of Priority Queues - Better Programming - Medium
- 우선순위 스케줄링 aging 처리를 구현해 봅시다
- 백준 1060번 구간 : 후보해를 추린다
- Left-leaning Red-Black Trees
- Tree compression using string grammars
- The easy way to implement a Red-Black tree
- append only finger tree
- Inverting Binary Trees Considered Harmful
- A simple approach to segment trees
- 세그먼트 트리 구조에서 lazy propagation을 적용하는 코드를 뜯어봅시다
- Traversing a linearized tree
- Eli-Index - Ranked Prefix Search for Large Data on External Memory optimized for Mobile with ZERO lag initialization time
- Fenwick Trees
- 펜윅 트리 (fenwick tree) : 구간합을 빠르게 구한다
- QuadTree with finite sized objects
- Interval hash tree: An eÆcient index structure for searching ob ject queries in large image databases
- The BK-Tree – A Data Structure for Spell Checking
- Everything you need to know about tree data structures
- Algorithms Behind Modern Storage Systems - Different uses for read-optimized B-trees and write-optimized LSM-trees
- 트리(tree)와 이진트리(binary tree)
- Binary tree traversal - breadth-first and depth-first strategies
- How to calculate a Binary Tree’s height -Part 1: Using array iteration in Ruby
- How to Calculate Binary Tree height Part2: Using Recursion
- 아는만큼 Search tree
- 균형 이진 트리 : 제약 조건이 맞지 않으면 추가적인 연산을 한다
- Handling Trees in Data Science Algorithmic Interview
- Serialize and Deserialization Binary Tree, BST deserialization Explained. Leetcode 297, 449 - YouTube
- Making Data Trees in Python. Learn about trees and how to implement… | by Keno Leon | The Startup | Medium
- 트리 dp : 스크루지 민호 문제로 간단한 것만 풀어 봅시다
- C++ Binary Tree Diagonal Traversal of Binary Tree | C++ | cppsecrets.com
- C++ Binary Tree Zig Zag Tree Traversal in Binary Tree | C++ | cppsecrets.com
- How to Implement Binary Tree InOrder traversal in Java without Recursion - Example Tutorial | Java67
- How to Perform Binary Tree InOrder traversal in Java using Recursion? Example Tutorial | Java67
- Merge Two Binary Trees - Solutions2Coding - S2C- An online Platform for Coding solutions.
- Tree Node Data Structure, Quicksort Algorithm, and BFS Algorithm with Python for Department Store’s Shops, Categories and Products | by Petia Velikova (scallopy) | Jan, 2022 | Medium
- Semantic Diff for SQL
- Object Storage 구현을 위한 분산 Radix Tree – tech.kakao.com
- The Ubiquitous B-Tree
- B-tree Path Hints
- B+ Tree Visualization
- EBtree - Design for a Scheduler and Use (Almost) Everywhere
- BST Animation by Y. Daniel Liang visualizer
- 이진탐색트리(Binary Search Tree)
- is Binary Search Tree
- BST Sequences in Python
- 이진 탐색 트리(BST) 구현하기(Python3)
- Tree data structure: Binary Search Tree | CODER SITE for developers
- How to find Kth Smallest Element in a Binary Search Tree? Solved | Java67
- Tree data structure: Binary Search Tree | Javarevisited
- Binary Search Trees using Python. All you need to know about Binary… | by Andreas Soularidis | Jul, 2022 | Medium
- Heap 자료구조와 Priority Queue
- 힙 정렬(Heap Sort)
- How to Merge K Sorted Arrays
- LeetCode 23 | Merge K Sorted Lists | Hard - YouTube
- 최소 값과 최대 값을 빠르게 찾을 수 있게 도와주는 힙(Heap)
- 6 Steps to Understanding a Heap with Python | by Yasufumi TANIGUCHI | Towards Data Science
- Data Structures : Heap | Min Heap Construction | Min and Max Heap - YouTube
- Tries and Lexers
- Regular Expression Search With Suffix Arrays
- Trie vs Hash Table Deathmatch!
- Autocomplete using Tries
- A walk through the SA-IS Suffix Array Construction Algorithm
- qp tries: smaller and faster than crit-bit tries - Tony Finch
- 트라이 (trie)
- trie에서 공간을 줄이기 위해 포인터를 어떻게 쪼갤까요
- Optimizing Hash-Array Mapped Tries for Fast and Lean Immutable JVM Collections | the morning paper
- TRIE(검색어추천알고리즘) - YouTube
- greedy의 문제점을 해결하기 위해 only one best path를 찾는 방법
- greedy의 문제점(local maxima)는 현재 상태의 best와 second best를 가지고 계속 탐색을 하는데, 현재 상태는 best이지만, 최종적으로는 best가 아닐 수 있음
- Sweet implementation of Viterbi in Python
- idiom.ucsd.edu/~rlevy/teaching/winter2009/ligncse256/lectures/hmm_viterbi_mini_example.pdf
- 7. Viterbi decoding