All Projects → jingedawang → Algorithms

jingedawang / Algorithms

Licence: MIT license
Java implementation for Introduction to Algorithms book.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Algorithms

Bplustree
A minimal but extreme fast B+ tree indexing structure demo for billions of key-value storage
Stars: ✭ 1,598 (+2655.17%)
Mutual labels:  tree, data-structure, btree
Algorithm Notes
Comprehensive algorithms solution to help engineers prepare their interviews and future study
Stars: ✭ 44 (-24.14%)
Mutual labels:  tree, sorting-algorithms, dynamic-programming
Data-Structures-and-Algorithms
Implementation of various Data Structures and algorithms - Linked List, Stacks, Queues, Binary Search Tree, AVL tree,Red Black Trees, Trie, Graph Algorithms, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Segment Trees etc.
Stars: ✭ 144 (+148.28%)
Mutual labels:  tree, sorting-algorithms, dynamic-programming
Gods
GoDS (Go Data Structures). Containers (Sets, Lists, Stacks, Maps, Trees), Sets (HashSet, TreeSet, LinkedHashSet), Lists (ArrayList, SinglyLinkedList, DoublyLinkedList), Stacks (LinkedListStack, ArrayStack), Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap), Trees (RedBlackTree, AVLTree, BTree, BinaryHeap), Comparators, Iterators, …
Stars: ✭ 10,883 (+18663.79%)
Mutual labels:  tree, data-structure, red-black-tree
Algo Tree
Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. It contains solutions in various languages such as C++, Python and Java.
Stars: ✭ 166 (+186.21%)
Mutual labels:  tree, sorting-algorithms, dynamic-programming
ds
🔗 Common Data Structures and Algorithms
Stars: ✭ 40 (-31.03%)
Mutual labels:  tree, data-structure, red-black-tree
Algodeck
An Open-Source Collection of 200+ Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview 💯
Stars: ✭ 4,441 (+7556.9%)
Mutual labels:  tree, sorting-algorithms, dynamic-programming
Geeksforgeeks Dsa 2
This repository contains all the assignments and practice questions solved during the Data Structures and Algorithms course in C++ taught by the Geeks For Geeks team.
Stars: ✭ 53 (-8.62%)
Mutual labels:  tree, sorting-algorithms
Data Structures With Go
Data Structures with Go Language
Stars: ✭ 121 (+108.62%)
Mutual labels:  tree, sorting-algorithms
Vue Ui For Pc
基于Vue2.x的一套PC端UI组件,包括了Carousel 跑马灯、Cascader 级联、Checkbox 多选框、Collapse 折叠面板、DatePicker 日期选择、Dialog 对话框、Form 表单、Input 输入框、InputNumber 数字输入框、Layer 弹窗层、Loading 加载、Menu 菜单、Page 分页、Progress 进度条、Radio 单选框、SelectDropDown 仿select、Switch 开关、Table 表格、Tabs 标签页、Textarea 文本框、Tooltip 文字提示、BackTop 返回顶部、steps 步骤条、Transfer 穿梭框、Tree 树形、Upload 文件上传、Lazy 图片懒加载、Loading 加载、Pagination 分页等等
Stars: ✭ 156 (+168.97%)
Mutual labels:  tree, select
Leetcode
High-quality LeetCode solutions
Stars: ✭ 178 (+206.9%)
Mutual labels:  tree, data-structure
Ngx Ui
🚀 Style and Component Library for Angular
Stars: ✭ 534 (+820.69%)
Mutual labels:  tree, select
El Tree Select
基于element-ui2.x扩展下拉树
Stars: ✭ 159 (+174.14%)
Mutual labels:  tree, select
Vue Treeselect
A multi-select component with nested options support for Vue.js
Stars: ✭ 2,347 (+3946.55%)
Mutual labels:  tree, select
Vue Treeselect
A Tree Select Plugin For Vue2.0+
Stars: ✭ 40 (-31.03%)
Mutual labels:  tree, select
Computer Science In Javascript
Computer science reimplemented in JavaScript
Stars: ✭ 2,590 (+4365.52%)
Mutual labels:  tree, sorting-algorithms
Heyui
🎉UI Toolkit for Web, Vue2.0 http://www.heyui.top
Stars: ✭ 2,373 (+3991.38%)
Mutual labels:  tree, select
RedisTree
Redis Tree (Ploytree) Structure Module
Stars: ✭ 64 (+10.34%)
Mutual labels:  tree, btree
js-symbol-tree
Turn any collection of objects into its own efficient tree or linked list using Symbol
Stars: ✭ 86 (+48.28%)
Mutual labels:  tree, data-structure
C Sharp Algorithms
📚 📈 Plug-and-play class-library project of standard Data Structures and Algorithms in C#
Stars: ✭ 4,684 (+7975.86%)
Mutual labels:  tree, sorting-algorithms

Algorithms

License: MIT build check-url codecov Gitpod

Welcome to the world of Algorithms.

This repository provides commonly used algorithms according to Introduction to Algorithms. Codes are implemented in Java, since it's a functional and flexible language, which can clearly show the principles of the algorithms.

As you know, the best way of mastering an algorithm is implementing it. But before that, you need to understand how it works. We have a great book Introduction to Algorithms which tells us about that. However, it's not always smooth to catch the point. What we did here is providing an easy-to-understand implementation, in which you can debug step-by-step. Then grasp the main idea of the algorithm by careful observation.

We created the most intuitive demos for each algorithm. Just run it, the core principle will flash on you at once.

Quick Start

We support Gitpod as online coding platform, you can try it here.

You can use either Intellij IDEA or Gradle to build and test the code locally. But you can only use Gradle as build tool online since Gitpod is using VSCode.

Intellij IDEA

We encourage you to open the project with IntelliJ IDEA, which can provide more flexible and powerful debug experiences.

Start IntelliJ IDEA, click [Open], choose the cloned Algorithms directory, confirm by clicking [OK]. Then you will be able to see the project structure.

To run a demo of an algorithm, please right-click the source file, choose [Run '<className>.main()'].

To run all tests, please right-click the test folder from the Project window, choose [Run 'All Tests'].

Gradle

If you don't have Intellij IDEA installed or if you are using Gitpod, it's also convenient to build and test with Gradle. You don't need to have Gradle installed, gradlew script will download a proper version for you during the first run.

To run a demo of an algorithm, use command like

./gradlew run -PclassName='<package>.<className>'

For example, run BFPRT algorithm like

./gradlew run -PclassName='select.BFPRT'

To run all tests, use command like

./gradlew test

Catalogue

To help people understand the core concept of each algorithm, we provided multiple resources. Except for code, you can click the book and blog links for more information.

Contribute

We highly encourage you to contribute to this project, especially if you are a beginner to algorithms. Read this Contributing Guideline to learn more.

Contact

Please create an issue or send E-mail to [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].