├── .gitignore ├── .travis.yml ├── README.md ├── SUMMARY.md ├── backtracking ├── backtracking.md ├── permutation.md └── subsets.md ├── basics_data_structure ├── README.md ├── binary_search_trees.md ├── binary_tree.md ├── huffman_compression.md ├── linked_list.md └── priority_queue.md ├── basics_misc ├── README.md └── bit_manipulation.md ├── basics_sorting ├── README.md ├── bubble_sort.md ├── bucket_sort.md ├── counting_sort.md ├── heap_sort.md ├── insertion_sort.md ├── merge_sort.md ├── quick_sort.md ├── radix_sort.md └── selection_sort.md ├── binary_search ├── README.md ├── binary_search.md ├── find_minimum_in_rotated_sorted_array.md ├── find_peak_element.md ├── first_bad_version.md ├── search_a_2d_matrix.md ├── search_for_a_range.md ├── search_in_rotated_sorted_array.md └── search_insert_position.md ├── binary_search_tree ├── README.md ├── insert_node_in_a_binary_search_tree.md └── validate_binary_search_tree.md ├── binary_tree ├── README.md ├── balanced_binary_tree.md ├── binary_tree_inorder_traversal.md ├── binary_tree_level_order_traversal.md ├── binary_tree_postorder_traversal.md ├── binary_tree_preorder_traversal.md ├── binary_tree_traversal.md └── maximum_depth_of_binary_tree.md ├── bit_manipulation ├── README.md ├── single_number.md └── single_number_ii.md ├── book.json ├── docs ├── LinkedListProblems.pdf ├── lecture15-backtracking.pdf ├── leetcode-cpp.pdf └── pack2alpha1-tianyicui.pdf ├── dynamic_programming ├── README.md ├── backpack.md ├── climbing_stairs.md ├── jump_game.md ├── knapsack.md ├── matrix.md ├── minimum_path_sum.md ├── sequence.md ├── triangle.md └── unique_paths.md ├── figure ├── binary_tree_traversal.png ├── bubble_sort.gif ├── gitbook_editor.png ├── huffman_algorithm.gif ├── insertion_sort.gif ├── merge_sort.gif ├── quicksort_example.gif ├── remove_duplicates_from_sorted_list.jpg ├── reverse_linked_list_i.jpg ├── rotated_array.png ├── selection_sort.gif └── subsets.jpg ├── linked_list ├── README.md ├── merge_two_sorted_lists.md ├── partition_list.md ├── remove_duplicates_from_sorted_list.md ├── remove_nth_node_from_end_of_list.md └── reverse_linked_list.md ├── package.json ├── part_i_basics └── README.md ├── part_ii_coding └── README.md ├── reverse ├── README.md ├── recover_rotated_sorted_array.md ├── reverse_words_in_a_string.md └── rotate_string.md ├── sorted_array ├── README.md ├── median_of_two_sorted_arrays.md ├── merge_sorted_array.md └── remove_duplicates_from_sorted_array.md └── string ├── README.md └── compare_strings.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/README.md -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/SUMMARY.md -------------------------------------------------------------------------------- /backtracking/backtracking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/backtracking/backtracking.md -------------------------------------------------------------------------------- /backtracking/permutation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/backtracking/permutation.md -------------------------------------------------------------------------------- /backtracking/subsets.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/backtracking/subsets.md -------------------------------------------------------------------------------- /basics_data_structure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_data_structure/README.md -------------------------------------------------------------------------------- /basics_data_structure/binary_search_trees.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_data_structure/binary_search_trees.md -------------------------------------------------------------------------------- /basics_data_structure/binary_tree.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_data_structure/binary_tree.md -------------------------------------------------------------------------------- /basics_data_structure/huffman_compression.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_data_structure/huffman_compression.md -------------------------------------------------------------------------------- /basics_data_structure/linked_list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_data_structure/linked_list.md -------------------------------------------------------------------------------- /basics_data_structure/priority_queue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_data_structure/priority_queue.md -------------------------------------------------------------------------------- /basics_misc/README.md: -------------------------------------------------------------------------------- 1 | # Basics Miscellaneous 2 | 3 | 杂项部分,涉及「位操作」等。 4 | -------------------------------------------------------------------------------- /basics_misc/bit_manipulation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_misc/bit_manipulation.md -------------------------------------------------------------------------------- /basics_sorting/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/README.md -------------------------------------------------------------------------------- /basics_sorting/bubble_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/bubble_sort.md -------------------------------------------------------------------------------- /basics_sorting/bucket_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/bucket_sort.md -------------------------------------------------------------------------------- /basics_sorting/counting_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/counting_sort.md -------------------------------------------------------------------------------- /basics_sorting/heap_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/heap_sort.md -------------------------------------------------------------------------------- /basics_sorting/insertion_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/insertion_sort.md -------------------------------------------------------------------------------- /basics_sorting/merge_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/merge_sort.md -------------------------------------------------------------------------------- /basics_sorting/quick_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/quick_sort.md -------------------------------------------------------------------------------- /basics_sorting/radix_sort.md: -------------------------------------------------------------------------------- 1 | # Radix Sort 2 | -------------------------------------------------------------------------------- /basics_sorting/selection_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/basics_sorting/selection_sort.md -------------------------------------------------------------------------------- /binary_search/README.md: -------------------------------------------------------------------------------- 1 | # Search - 搜索 2 | 3 | 本章主要总结二分搜索相关的题。 4 | -------------------------------------------------------------------------------- /binary_search/binary_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/binary_search.md -------------------------------------------------------------------------------- /binary_search/find_minimum_in_rotated_sorted_array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/find_minimum_in_rotated_sorted_array.md -------------------------------------------------------------------------------- /binary_search/find_peak_element.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/find_peak_element.md -------------------------------------------------------------------------------- /binary_search/first_bad_version.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/first_bad_version.md -------------------------------------------------------------------------------- /binary_search/search_a_2d_matrix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/search_a_2d_matrix.md -------------------------------------------------------------------------------- /binary_search/search_for_a_range.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/search_for_a_range.md -------------------------------------------------------------------------------- /binary_search/search_in_rotated_sorted_array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/search_in_rotated_sorted_array.md -------------------------------------------------------------------------------- /binary_search/search_insert_position.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search/search_insert_position.md -------------------------------------------------------------------------------- /binary_search_tree/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search_tree/README.md -------------------------------------------------------------------------------- /binary_search_tree/insert_node_in_a_binary_search_tree.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search_tree/insert_node_in_a_binary_search_tree.md -------------------------------------------------------------------------------- /binary_search_tree/validate_binary_search_tree.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_search_tree/validate_binary_search_tree.md -------------------------------------------------------------------------------- /binary_tree/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_tree/README.md -------------------------------------------------------------------------------- /binary_tree/balanced_binary_tree.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_tree/balanced_binary_tree.md -------------------------------------------------------------------------------- /binary_tree/binary_tree_inorder_traversal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_tree/binary_tree_inorder_traversal.md -------------------------------------------------------------------------------- /binary_tree/binary_tree_level_order_traversal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_tree/binary_tree_level_order_traversal.md -------------------------------------------------------------------------------- /binary_tree/binary_tree_postorder_traversal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_tree/binary_tree_postorder_traversal.md -------------------------------------------------------------------------------- /binary_tree/binary_tree_preorder_traversal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_tree/binary_tree_preorder_traversal.md -------------------------------------------------------------------------------- /binary_tree/binary_tree_traversal.md: -------------------------------------------------------------------------------- 1 | # Binary Tree Traversal- 二叉树的遍历 2 | 3 | 4 | -------------------------------------------------------------------------------- /binary_tree/maximum_depth_of_binary_tree.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/binary_tree/maximum_depth_of_binary_tree.md -------------------------------------------------------------------------------- /bit_manipulation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/bit_manipulation/README.md -------------------------------------------------------------------------------- /bit_manipulation/single_number.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/bit_manipulation/single_number.md -------------------------------------------------------------------------------- /bit_manipulation/single_number_ii.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/bit_manipulation/single_number_ii.md -------------------------------------------------------------------------------- /book.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/book.json -------------------------------------------------------------------------------- /docs/LinkedListProblems.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/docs/LinkedListProblems.pdf -------------------------------------------------------------------------------- /docs/lecture15-backtracking.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/docs/lecture15-backtracking.pdf -------------------------------------------------------------------------------- /docs/leetcode-cpp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/docs/leetcode-cpp.pdf -------------------------------------------------------------------------------- /docs/pack2alpha1-tianyicui.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/docs/pack2alpha1-tianyicui.pdf -------------------------------------------------------------------------------- /dynamic_programming/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/README.md -------------------------------------------------------------------------------- /dynamic_programming/backpack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/backpack.md -------------------------------------------------------------------------------- /dynamic_programming/climbing_stairs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/climbing_stairs.md -------------------------------------------------------------------------------- /dynamic_programming/jump_game.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/jump_game.md -------------------------------------------------------------------------------- /dynamic_programming/knapsack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/knapsack.md -------------------------------------------------------------------------------- /dynamic_programming/matrix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/matrix.md -------------------------------------------------------------------------------- /dynamic_programming/minimum_path_sum.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/minimum_path_sum.md -------------------------------------------------------------------------------- /dynamic_programming/sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/sequence.md -------------------------------------------------------------------------------- /dynamic_programming/triangle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/triangle.md -------------------------------------------------------------------------------- /dynamic_programming/unique_paths.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/dynamic_programming/unique_paths.md -------------------------------------------------------------------------------- /figure/binary_tree_traversal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/binary_tree_traversal.png -------------------------------------------------------------------------------- /figure/bubble_sort.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/bubble_sort.gif -------------------------------------------------------------------------------- /figure/gitbook_editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/gitbook_editor.png -------------------------------------------------------------------------------- /figure/huffman_algorithm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/huffman_algorithm.gif -------------------------------------------------------------------------------- /figure/insertion_sort.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/insertion_sort.gif -------------------------------------------------------------------------------- /figure/merge_sort.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/merge_sort.gif -------------------------------------------------------------------------------- /figure/quicksort_example.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/quicksort_example.gif -------------------------------------------------------------------------------- /figure/remove_duplicates_from_sorted_list.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/remove_duplicates_from_sorted_list.jpg -------------------------------------------------------------------------------- /figure/reverse_linked_list_i.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/reverse_linked_list_i.jpg -------------------------------------------------------------------------------- /figure/rotated_array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/rotated_array.png -------------------------------------------------------------------------------- /figure/selection_sort.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/selection_sort.gif -------------------------------------------------------------------------------- /figure/subsets.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/figure/subsets.jpg -------------------------------------------------------------------------------- /linked_list/README.md: -------------------------------------------------------------------------------- 1 | # Linked List - 链表 2 | 3 | 本节包含链表的一些常用操作,如删除、插入和合并等。 4 | -------------------------------------------------------------------------------- /linked_list/merge_two_sorted_lists.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/linked_list/merge_two_sorted_lists.md -------------------------------------------------------------------------------- /linked_list/partition_list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/linked_list/partition_list.md -------------------------------------------------------------------------------- /linked_list/remove_duplicates_from_sorted_list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/linked_list/remove_duplicates_from_sorted_list.md -------------------------------------------------------------------------------- /linked_list/remove_nth_node_from_end_of_list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/linked_list/remove_nth_node_from_end_of_list.md -------------------------------------------------------------------------------- /linked_list/reverse_linked_list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/linked_list/reverse_linked_list.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/package.json -------------------------------------------------------------------------------- /part_i_basics/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/part_i_basics/README.md -------------------------------------------------------------------------------- /part_ii_coding/README.md: -------------------------------------------------------------------------------- 1 | # Part II - Coding 2 | 3 | 本节主要总结一些leetcode等题目的实战经验。 4 | 5 | 主要有以下章节构成。 6 | -------------------------------------------------------------------------------- /reverse/README.md: -------------------------------------------------------------------------------- 1 | # Reverse - 翻转法 2 | 3 | 本章主要介绍『三步翻转法』的使用。 4 | -------------------------------------------------------------------------------- /reverse/recover_rotated_sorted_array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/reverse/recover_rotated_sorted_array.md -------------------------------------------------------------------------------- /reverse/reverse_words_in_a_string.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/reverse/reverse_words_in_a_string.md -------------------------------------------------------------------------------- /reverse/rotate_string.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/reverse/rotate_string.md -------------------------------------------------------------------------------- /sorted_array/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/sorted_array/README.md -------------------------------------------------------------------------------- /sorted_array/median_of_two_sorted_arrays.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/sorted_array/median_of_two_sorted_arrays.md -------------------------------------------------------------------------------- /sorted_array/merge_sorted_array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/sorted_array/merge_sorted_array.md -------------------------------------------------------------------------------- /sorted_array/remove_duplicates_from_sorted_array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/sorted_array/remove_duplicates_from_sorted_array.md -------------------------------------------------------------------------------- /string/README.md: -------------------------------------------------------------------------------- 1 | # String - 字符串 2 | 3 | -------------------------------------------------------------------------------- /string/compare_strings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/niangaotuantuan/algorithm-excercise/HEAD/string/compare_strings.md --------------------------------------------------------------------------------