《OD学算法》常用算法集合

1. 排序

(1)冒泡

(2)选择

(3)插入

(4)归并

2. 位运算

Bitmask provide an efficient way to manipulate a small set of Booleans. By using bitwise operations, Boolean flags can be checked, turned on (or turned off) easily and quickly. It can be used in various algorithms such as the Dynamic Programming solution for Travelling Salesman Problem to speed up crucial (small) set-based operations.

View the visualisation here!
The top row describes the bits of the input integer S.
The middle row describes the mask bits j that will be applied to S together with the associated bitwise operation.
The last row describes the result New S.

All available Bitmask operations are shown here. Select an action and provide the necessary input, and the action will be animated in the visualisation area.

As the action is being carried out, each step will be described in the status panel.

You can also follow the pseudocode highlights to trace the algorithm.

Control the animation with the player controls! Keyboard shortcuts are:

Spacebar: play/pause/replay

Left/right arrows: step backward/step forward
-/+: decrease/increase speed

Return to 'Exploration Mode' to start exploring!

Note that if you notice any bug in this visualization or if you want to request for a new visualization feature, do not hesitate to drop an email to the project leader: Dr Steven Halim via his email address: stevenhalim at gmail dot com.

3. 链表

Linked list is a data structure consisting of a group of vertices which together represent a sequence. Under the simplest form, each vertex is composed of a data and a reference (in other words, a link) to the next vertex in the sequence. In this visualization, we discuss Single Linked List and its two variants: Stack and Queue, and also Doubly Linked List and its variant: Deque.

 

4. 哈希表

5. 二叉堆

6. 二叉搜索树

7. 图结构

8. 并查集

9. 线段树

10. 树状数组

11. 递归树/有向无环图

12. 图的遍历

13. 最小生成树

14. 单源最短路径

15. 网络流

16. 二分匹配

17. 循环查找

18. 后缀树

19. 后缀数组

20. 计算几何

posted @ 2016-06-23 14:49  沙漏哟  阅读(717)  评论(0编辑  收藏  举报