Skip to content

zhengzhirun/Introduction-to-Algorithms-for-Cplusepluse

Repository files navigation

Introduction-to-Algorithms-for-Cplusepluse

算法导论(第三版)----C++实现.

基于C++11标准(全部实现为模板故都放在.h文件中),并给出Makefile文件(基于ubuntu(linux)).

代码实现中所有的指针均优先采用C++11新标准建议的智能指针.

Binary-search 二分搜索算法

--Binary_search/binarySearch.h: 二分搜索算法

hash_table 散列表

--chain_hash_table/chain_hash_table.h: 链接法实现散列表
--open_addressing_hash_table/open_addressing_hash_table.h: 开放寻址法实现散列表
--perfect_hashing/perfect_hashing.h: 完全散列表

interesting_algorithm 感兴趣的算法

--gcd_algorithm/gcd.h: 欧几里得算法求解最大公因数
--pow_algorithm/recursionPow.h: 递归求幂运算

list_algorithm 链表算法

--circular_list/circularList.h: 带有哨兵的双向循环链表
--doubly_linked_list/doublyLinkedList.h: 双向链表
--doublyLinkedListNode/doublyLinkedListNode.h: 双向链表/循环链表的节点数据类型
--list/list.h: 单向链表
--listNode/ListNode.h: 单向链表的节点数据类型

queue_algorithm 队列算法

--min_queue/min_queue.h: 最小优先队列
--queue/queue.h: 单端队列

select_algorithm 选择算法

--good_select/goodSelect.h: 最坏情况下为线性时间的选择算法
--minimum/minimum.h: 从一个集合中选择最小(最大)元素
--randomized_select/randomizedSelect.h: 随机选择算法(期望为线性时间的选择算法)

sort_algorithm 排序算法

--bucket_sort/bucketSort.h: 桶排序
--counting_sort/countingSort.h: 计数排序
--heap_sort/heapSort.h: 堆排序
--insert_sort/insertSort.h: 插入排序
--merge_sort/mergeSort.h: 归并排序
--quick_sort/quickSort.h: 快速排序
--radix_sort/radixSort.h: 基数排序

stack_algorithm 栈算法

--stack_algorithm/stack.h: 栈

subset_algorithm 子序列算法

--merge_subset_sum/mergeSubsetSum.h: 寻找最大相连子序列和的递归算法
--online_subset_sum/onlineSubsetSum.h: 寻找最大相连子序列和的在线算法
--original_subset_sum/originalSubsetSum.h: 寻找最大相连子序列和的暴力算法

tree_algorithm 树算法

--Binary_search_tree/binary_search_tree.h: 二叉搜索树
--binarytree/binarytree.h: 二叉树
--binarytreeNode/binarytreeNode.h: 二叉树的节点数据类型
--RedBlackTree/RedBlackTree.h: 红黑树
--RedBlackTreeNode/RedBlackTreeNode.h: 红黑树的节点数据类型

About

算法导论----C++实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published