stevenliu99 / datastructureofdeng Goto Github PK
View Code? Open in Web Editor NEWThis project forked from hungry0/datastructureofdeng
邓俊辉《数据结构》第三版
Home Page: http://dsa.cs.tsinghua.edu.cn/~deng/ds/dsacpp/
This project forked from hungry0/datastructureofdeng
邓俊辉《数据结构》第三版
Home Page: http://dsa.cs.tsinghua.edu.cn/~deng/ds/dsacpp/
Size: Name: 2.250 avl/avl.h 2.057 avl/avl_implementation.h 4.568 avl/avl_insert.h 2.160 avl/avl_macro.h 3.928 avl/avl_remove.h 1.497 avl/avl_test.h 13.046 avl/main.cpp 9.011 bintree/binnode.h 3.920 bintree/binnode_implementation.h 2.578 bintree/binnode_insert.h 1.270 bintree/binnode_macro.h 1.388 bintree/binnode_macro_avl.h 3.736 bintree/binnode_macro_basic.h 1.665 bintree/binnode_macro_redblack.h 2.159 bintree/binnode_size.h 3.352 bintree/binnode_stretchbyzag.h 2.623 bintree/binnode_stretchbyzig.h 3.252 bintree/binnode_succ.h 3.823 bintree/binnode_travinorder.h 4.255 bintree/binnode_travinorder_i1.h 3.531 bintree/binnode_travinorder_i2.h 4.324 bintree/binnode_travinorder_i3.h 3.631 bintree/binnode_travinorder_i4.h 2.263 bintree/binnode_travinorder_r.h 3.562 bintree/binnode_travlevel.h 2.631 bintree/binnode_travpostorder.h 5.736 bintree/binnode_travpostorder_i.h 2.271 bintree/binnode_travpostorder_r.h 3.030 bintree/binnode_travpreorder.h 3.415 bintree/binnode_travpreorder_i1.h 4.629 bintree/binnode_travpreorder_i2.h 2.267 bintree/binnode_travpreorder_r.h 3.148 bintree/binnode_zag.h 3.148 bintree/binnode_zig.h 11.497 bintree/bintree.h 5.072 bintree/bintree_attach.h 2.449 bintree/bintree_implementation.h 3.998 bintree/bintree_insert.h 4.103 bintree/bintree_remove.h 2.930 bintree/bintree_secede.h 1.808 bintree/bintree_size.h 1.510 bintree/bintree_test.h 2.866 bintree/bintree_updateheight.h 17.044 bintree/main.cpp 10.651 bitmap/bitmap.h 6.885 bitmap/bitmap_o1_init.h 5.142 bitmap/bitmap_o1_init_set_only.h 9.740 bitmap/main_o1_init.cpp 8.763 bitmap/main_o1_init_set_only.cpp 4.498 bst/bst.h 5.171 bst/bst_connect34.h 2.964 bst/bst_implementation.h 2.727 bst/bst_insert.h 2.418 bst/bst_remove.h 6.064 bst/bst_removeat.h 6.697 bst/bst_rotateat.h 1.699 bst/bst_search.h 3.653 bst/bst_searchin_iterative.h 2.853 bst/bst_searchin_recursive.h 1.497 bst/bst_test.h 14.889 bst/main.cpp 4.682 btree/btnode.h 6.080 btree/btree.h 2.541 btree/btree_implementation.h 3.253 btree/btree_insert.h 4.649 btree/btree_remove.h 3.336 btree/btree_search.h 7.681 btree/btree_solveoverflow.h 21.957 btree/btree_solveunderflow.h 1.503 btree/btree_test.h 13.790 btree/main.cpp 2.753 bubblesort/bubble.cpp 3.562 bubblesort/bubble1a.cpp 3.347 bubblesort/bubble1b.cpp 3.398 bubblesort/bubble2.cpp 11.287 bubblesort/main.cpp 3.582 conversion/convert.cpp 1.472 conversion/convert.h 3.830 conversion/main.cpp 3.537 conversion_recursive/convert.cpp 2.285 countones/countones.cpp 2.242 countones/countones_1.cpp 4.659 countones/countones_2.cpp 2.967 countones/main.cpp 14.548 cursor_list/cursor_list.h 1.773 cursor_list/cursor_list_implementation.h 9.257 cursor_list/test.cpp 5.035 daxue/main.cpp 2.454 dictionary/dictionary.h 4.614 entry/entry.h 1.234 factorial/fac.h 1.406 factorial/fac_iterative.cpp 1.426 factorial/fac_recursive.cpp 2.310 factorial/main.cpp 3.232 fibonacci/fib.h 1.935 fibonacci/fib0.cpp 1.904 fibonacci/fib1.cpp 2.558 fibonacci/fib2.cpp 8.924 fibonacci/main.cpp 4.176 gcd/gcd_chinese.cpp 2.936 gcd/gcd_euclidean.cpp 12.644 gcd/main.cpp 15.798 graph/graph.h 10.109 graph/graph_bcc.h 7.128 graph/graph_bfs.h 3.311 graph/graph_bfs_pu.h 7.013 graph/graph_dfs.h 3.517 graph/graph_dfs_pu.h 5.901 graph/graph_dijkstra.h 3.475 graph/graph_dijkstra_pu.h 3.444 graph/graph_implementation.h 7.524 graph/graph_pfs.h 5.622 graph/graph_prim.h 3.179 graph/graph_prim_pu.h 19.714 graph/graph_test.cpp 1.524 graph/graph_test.h 8.887 graph/graph_tsort.h 23.130 graphmatrix/graphmatrix.h 7.426 hanoi/display.cpp 2.787 hanoi/hanoi.cpp 2.903 hanoi/hanoi.h 5.167 hanoi/main.cpp 1.880 hanoi/move_disk.cpp 5.368 hashtable/hashtable.h 2.825 hashtable/hashtable_constructor.h 2.349 hashtable/hashtable_destructor.h 1.815 hashtable/hashtable_get.h 4.132 hashtable/hashtable_hashcode.h 3.325 hashtable/hashtable_implementation.h 2.789 hashtable/hashtable_probe4free.h 3.159 hashtable/hashtable_probe4hit.h 2.834 hashtable/hashtable_put.h 5.036 hashtable/hashtable_rehash.h 2.373 hashtable/hashtable_remove.h 1.515 hashtable/hashtable_test.h 14.539 hashtable/main.cpp 2.865 huffman/huffchar.h 1.177 huffman/huffcode.h 2.971 huffman/huffman_decode.cpp 4.990 huffman/huffman_encode.cpp 1.247 huffman/huffman_forest_list.h 1.287 huffman/huffman_forest_pq_complheap.h 1.282 huffman/huffman_forest_pq_leftheap.h 1.262 huffman/huffman_forest_pq_list.h 4.936 huffman/huffman_generatetable.cpp 6.486 huffman/huffman_generatetree.cpp 2.744 huffman/huffman_initforest.cpp 4.146 huffman/huffman_pq.h 4.790 huffman/huffman_pq_generatetree.cpp 3.887 huffman/huffman_pq_initforest.cpp 5.108 huffman/huffman_pq_test.cpp 3.522 huffman/huffman_pq_test.h 3.362 huffman/huffman_statistics.cpp 1.509 huffman/huffman_test.h 1.344 huffman/hufftable.h 991 huffman/hufftree.h 3.563 laby/advance.h 3.275 laby/cell.h 10.997 laby/displaylaby.h 5.563 laby/laby.h 5.327 laby/main.cpp 2.669 laby/neighbor.h 5.769 laby/randlaby.h 7.455 laby/readlaby.h 17.162 list/list.h 3.862 list/listnode.h 1.768 list/listnode_implementation.h 2.311 list/listnode_insertaspred.h 2.312 list/listnode_insertassucc.h 2.271 list/list_bracket.h 1.844 list/list_clear.h 3.221 list/list_constructor_by_copying.h 2.124 list/list_copynodes.h 3.394 list/list_deduplicate.h 1.442 list/list_destructor.h 2.661 list/list_disordered.h 2.631 list/list_find.h 5.645 list/list_implementation.h 2.360 list/list_initialize.h 4.407 list/list_insert.h 2.723 list/list_insertionsort.h 4.450 list/list_merge.h 3.555 list/list_mergesort.h 2.289 list/list_remove.h 2.505 list/list_reverse1.h 2.460 list/list_reverse2.h 3.820 list/list_reverse3.h 2.919 list/list_search.h 3.667 list/list_selectionsort.h 2.980 list/list_selectmax.h 2.848 list/list_sort.h 1.313 list/list_test.h 3.237 list/list_traverse.h 3.243 list/list_uniquify.h 27.655 list/main.cpp 7.860 majority/main.cpp 1.818 majority/majority.h 3.073 majority/majoritycandidate.h 2.583 majority/majoritycheck.h 2.218 max/max0.cpp 2.321 max/max1.cpp 2.849 max/max2.cpp 10.186 median1/main.cpp 4.188 median1/median.h 4.524 median1/trivialmedian.h 10.652 median2/main.cpp 11.244 median2/median.h 5.412 nest_recursive/display.cpp 7.256 nest_recursive/nest.cpp 5.396 nest_stack/main.cpp 4.951 nest_stack/nest.cpp 2.768 nest_stack/nest.h 6.144 power/main.cpp 2.007 power/power0.cpp 2.573 power/power1.cpp 1.940 power/power2-0-i.cpp 1.680 power/power2-0-r.cpp 2.769 power/power2-1-i.cpp 2.508 power/power2-1-r.cpp 1.927 pq/pq.h 10.141 pq/pq_test.cpp 2.179 pq/pq_test.h 3.890 pq_complheap/pq_complheap.h 2.035 pq_complheap/pq_complheap_delmax.h 1.277 pq_complheap/pq_complheap_getmax.h 1.973 pq_complheap/pq_complheap_heapify.h 2.790 pq_complheap/pq_complheap_implementation.h 1.791 pq_complheap/pq_complheap_insert.h 3.284 pq_complheap/pq_complheap_macro.h 2.419 pq_complheap/pq_complheap_percolatedown.h 2.841 pq_complheap/pq_complheap_percolateup.h 3.481 pq_leftheap/pq_leftheap.h 2.776 pq_leftheap/pq_leftheap_delmax.h 1.391 pq_leftheap/pq_leftheap_getmax.h 2.449 pq_leftheap/pq_leftheap_implementation.h 2.214 pq_leftheap/pq_leftheap_insert.h 4.429 pq_leftheap/pq_leftheap_merge.h 3.579 pq_list/pq_list.h 3.229 prefix_free_codes/pfc.h 2.987 prefix_free_codes/pfc_decode.cpp 4.708 prefix_free_codes/pfc_encode.cpp 5.096 prefix_free_codes/pfc_generatetable.cpp 4.603 prefix_free_codes/pfc_generatetree.cpp 2.640 prefix_free_codes/pfc_initforest.cpp 3.692 prefix_free_codes/pfc_test.cpp 3.132 prefix_free_codes/pfc_test.h 5.025 prime/eratosthenes.cpp 1.127 prime/eratosthenes.h 6.561 prime/main.cpp 2.382 prime/primenlt.cpp 1.219 prime/primenlt.h 6.799 queen_brute_force_1/5queens.cpp 3.115 queen_brute_force_1/collision.cpp 4.260 queen_brute_force_1/displaysolution.cpp 4.872 queen_brute_force_1/main.cpp 4.005 queen_brute_force_1/queen.h 3.309 queen_brute_force_2/2queens.cpp 4.109 queen_brute_force_2/3queens.cpp 4.921 queen_brute_force_2/4queens.cpp 5.745 queen_brute_force_2/5queens.cpp 7.129 queen_brute_force_2/main.cpp 6.833 queen_recursive/main.cpp 3.970 queen_recursive/placequeens.cpp 4.680 queen_stack/displayprogress.cpp 6.038 queen_stack/main.cpp 4.983 queen_stack/placequeens.cpp 3.794 queen_stack/queen.h 3.209 queen_stack/queen_stack.h 7.917 queue/main.cpp 2.636 queue/queue.h 1.433 queue/queue_implementation.h 1.503 queue/queue_test.h 3.002 random/randomsortedvector.cpp 1.924 random/randomsortedvector.h 2.318 random/shuffle.cpp 1.486 random/shuffle.h 14.149 redblack/main.cpp 3.305 redblack/redblack.h 2.557 redblack/redblack_implementation.h 2.768 redblack/redblack_insert.h 4.524 redblack/redblack_remove.h 9.956 redblack/redblack_solvedoubleblack.h 7.644 redblack/redblack_solvedoublered.h 1.512 redblack/redblack_test.h 2.351 redblack/redblack_updateheight.h 2.334 reverse/reverse-iterative-0.cpp 1.852 reverse/reverse-iterative-1.cpp 2.244 reverse/reverse-recursive.cpp 1.911 reverse/reverse.cpp 1.427 reverse/reverse.h 5.112 rpn/append2rpn.cpp 2.067 rpn/calculation.cpp 8.054 rpn/displayprogress.cpp 4.598 rpn/main.cpp 4.373 rpn/priority.cpp 8.133 rpn/priority.h 3.661 rpn/readnumber.cpp 7.922 rpn/rpn.cpp 4.530 rpn/rpn.h 5.766 selection/main.cpp 4.097 selection/quickselect.h 10.084 shiftk/main.cpp 3.136 shiftk/shift.cpp 2.354 shiftk/shift0.cpp 2.474 shiftk/shift1.cpp 2.424 shiftk/shift2.cpp 2.799 simu/bestwindow.cpp 1.101 simu/customer.h 3.549 simu/displayprogress.cpp 4.488 simu/main.cpp 4.912 simu/simu.cpp 2.977 simu/simu.h 12.924 skiplist/main.cpp 7.314 skiplist/quadlist.h 4.367 skiplist/quadlistnode.h 1.625 skiplist/quadlistnode_implementation.h 2.826 skiplist/quadlistnode_insert.h 2.309 skiplist/quadlist_implementation.h 3.101 skiplist/quadlist_initialize.h 2.061 skiplist/quadlist_insert.h 3.388 skiplist/quadlist_remove.h 3.416 skiplist/quadlist_traverse.h 5.120 skiplist/skiplist.h 2.836 skiplist/skiplist_get.h 2.101 skiplist/skiplist_implementation.h 7.702 skiplist/skiplist_put.h 4.845 skiplist/skiplist_remove.h 5.297 skiplist/skiplist_skipsearch.h 1.512 skiplist/skiplist_test.h 14.176 splay/main.cpp 2.988 splay/splay.h 2.288 splay/splay_implementation.h 5.400 splay/splay_insert.h 5.954 splay/splay_remove.h 2.224 splay/splay_search.h 11.558 splay/splay_splay.h 1.503 splay/splay_test.h 10.467 stack/main.cpp 1.128 stack/stack.h 2.706 stack/[email protected] 2.951 stack/[email protected] 1.503 stack/stack_test.h 14.676 string_pm/string_pm_test.cpp 3.456 string_pm/string_pm_test.h 4.154 string_pm_bf1/pm_brute1.cpp 4.393 string_pm_bf2/pm_brute2.cpp 2.373 string_pm_bm_bc/pm_bm.h 4.526 string_pm_bm_bc/pm_bm_bc.cpp 3.751 string_pm_bm_bc/pm_bm_buildbc.cpp 4.673 string_pm_bm_bc+gs/pm_bm_bc+gs.cpp 9.061 string_pm_bm_bc+gs/pm_bm_buildgs.cpp 3.771 string_pm_kmp/pm_kmp.cpp 3.326 string_pm_kmp/pm_kmp_next.cpp 3.563 string_pm_kmp_improved/pm_kmp_next_improved.cpp 4.650 string_pm_kr/pm_kr.cpp 2.661 string_pm_kr/pm_kr.h 2.333 string_pm_kr/pm_kr_check1by1.cpp 1.873 string_pm_kr/pm_kr_preparedm.cpp 2.621 string_pm_kr/pm_kr_updatehash.cpp 7.721 sum/main.cpp 1.612 sum/sum.h 2.134 sum/sum0.cpp 2.200 sum/sum1.cpp 2.760 sum/sum2.cpp 16.572 uniprint/print.h 7.332 uniprint/print_basic.cpp 13.002 uniprint/print_binnode.h 21.074 uniprint/print_bintree.h 12.725 uniprint/print_btree.h 2.434 uniprint/print_entry.h 13.744 uniprint/print_graphmatrix.h 7.016 uniprint/print_hashtable.h 1.875 uniprint/print_huffchar.cpp 3.357 uniprint/print_implementation.h 4.649 uniprint/print_int_array.cpp 1.632 uniprint/print_int_array.h 10.493 uniprint/print_pq_complheap.h 1.957 uniprint/print_pq_leftheap.h 2.670 uniprint/print_pq_list.h 6.288 uniprint/print_quadlist.h 2.956 uniprint/print_skiplist.h 2.749 uniprint/print_traversable.h 40.990 vector/main.cpp 2.112 vector/permute.h 15.855 vector/vector.h 2.288 vector/vector_assignment.h 1.454 vector/vector_bracket.h 2.834 vector/vector_bubble.h 1.653 vector/vector_bubblesort.h 1.728 vector/vector_bubblesort_fast.h 2.750 vector/vector_bubble_fast.h 2.392 vector/vector_constructor_by_copying.h 2.699 vector/vector_deduplicate.h 3.139 vector/vector_deduplicate_1.h 2.794 vector/vector_deduplicate_wrong_1.h 2.400 vector/vector_disordered.h 2.970 vector/vector_expand.h 2.089 vector/vector_find.h 2.218 vector/vector_heapsort.h 6.449 vector/vector_implementation.h 2.478 vector/vector_insert.h 4.766 vector/vector_merge.h 2.518 vector/vector_mergesort.h 2.271 vector/vector_merge_optimized.h 4.195 vector/vector_partition_a.h 4.495 vector/vector_partition_a1.h 4.835 vector/vector_partition_b.h 4.493 vector/vector_partition_b1.h 5.280 vector/vector_partition_c.h 2.543 vector/vector_quicksort.h 1.876 vector/vector_remove.h 2.518 vector/vector_removeinterval.h 2.313 vector/vector_search.h 3.310 vector/vector_search_binary_a.h 3.068 vector/vector_search_binary_b.h 2.875 vector/vector_search_binary_c.h 4.342 vector/vector_search_fibonaccian_a.h 3.923 vector/vector_search_fibonaccian_b.h 3.396 vector/vector_selectionsort.h 3.023 vector/vector_shrink.h 3.508 vector/vector_sort.h 1.686 vector/vector_test.h 3.009 vector/vector_traverse.h 2.675 vector/vector_uniquify.h 2.438 vector/vector_uniquify_slow.h 2.331 vector/vector_unsort.h 5.284 _java/hash.java 5.176 _java/testlist.java 2.643 _java/testsequence.cmd 3.270 _java/testtreemap.java 5.904 _java/testvector.java 5.254 _pl/hash.pl 3.448 _ps/2009.ps 2.519 _ps/2010.ps 2.736 _ps/2011.ps 5.732 _ps/smile.ps 6.770 _py/hash.py 7.031 _py/list.py 10.839 _py/reverse.py 3.341 _rb/hash.rb 2.268 _share/checkorder_elem.h 3.241 _share/checkorder_list.h 3.616 _share/checkorder_vector.h 2.976 _share/comparator.h 1.870 _share/crc_elem.h 2.352 _share/crc_list.h 2.472 _share/crc_vector.h 1.403 _share/decrease_elem.h 1.508 _share/decrease_list.h 1.512 _share/decrease_vector.h 1.448 _share/double_elem.h 1.476 _share/double_vector.h 2.703 _share/hailstone_elem.h 1.444 _share/half_elem.h 1.492 _share/half_list.h 1.403 _share/increase_elem.h 1.508 _share/increase_list.h 1.512 _share/increase_vector.h 4.126 _share/rand.h 6.134 _share/release.h 4.609 _share/util.h 23.930 _java/dsa/avltree.java 9.539 _java/dsa/bestfs.java 4.562 _java/dsa/bestfsdijkstra.java 4.357 _java/dsa/bestfsprim.java 7.183 _java/dsa/bfs.java 4.104 _java/dsa/bfsdistance.java 3.485 _java/dsa/bintree.java 44.027 _java/dsa/bintreenode.java 9.253 _java/dsa/bintreeposition.java 6.561 _java/dsa/bintree_linkedlist.java 27.110 _java/dsa/bstree.java 5.554 _java/dsa/bstreenode.java 1.654 _java/dsa/comparator.java 2.230 _java/dsa/comparatordefault.java 3.120 _java/dsa/comparatorlexicographic.java 2.348 _java/dsa/complbintree.java 11.868 _java/dsa/complbintreenode_rank.java 8.687 _java/dsa/complbintree_vector.java 3.593 _java/dsa/deque.java 14.060 _java/dsa/deque_dlnode.java 7.907 _java/dsa/dfs.java 3.609 _java/dsa/dfsreachablecomponent.java 3.548 _java/dsa/dictionary.java 12.147 _java/dsa/dictionary_dlnode.java 17.367 _java/dsa/dictionary_hashtable.java 6.053 _java/dsa/dlnode.java 4.785 _java/dsa/edge.java 8.296 _java/dsa/edge_list.java 2.386 _java/dsa/entry.java 4.245 _java/dsa/entrydefault.java 1.668 _java/dsa/equalitytester.java 2.123 _java/dsa/equalitytesterdefault.java 1.871 _java/dsa/exceptionboundaryviolation.java 1.824 _java/dsa/exceptionkeyinvalid.java 1.821 _java/dsa/exceptionlistempty.java 1.858 _java/dsa/exceptionnosuchelement.java 1.865 _java/dsa/exceptionpositioninvalid.java 1.853 _java/dsa/exceptionpqueueempty.java 1.840 _java/dsa/exceptionqueueempty.java 1.830 _java/dsa/exceptionqueuefull.java 1.832 _java/dsa/exceptionstackempty.java 1.825 _java/dsa/exceptionstackfull.java 1.821 _java/dsa/exceptiontreeempty.java 4.588 _java/dsa/graph.java 7.530 _java/dsa/graphtraverse.java 12.570 _java/dsa/graph_list.java 1.703 _java/dsa/iterator.java 5.631 _java/dsa/iteratorelement.java 5.565 _java/dsa/iteratorposition.java 11.051 _java/dsa/iteratortree.java 6.956 _java/dsa/list.java 23.090 _java/dsa/list_dlnode.java 3.367 _java/dsa/map.java 12.499 _java/dsa/map_dlnode.java 17.135 _java/dsa/map_hashtable.java 4.868 _java/dsa/node.java 39.251 _java/dsa/pm_bm.java 5.138 _java/dsa/pm_bruteforce.java 21.969 _java/dsa/pm_kmp.java 2.653 _java/dsa/point2d.java 1.788 _java/dsa/position.java 3.105 _java/dsa/pqueue.java 19.601 _java/dsa/pqueue_heap.java 11.872 _java/dsa/pqueue_sortedlist.java 12.636 _java/dsa/pqueue_unsortedlist.java 2.940 _java/dsa/queue.java 9.333 _java/dsa/queue_array.java 9.100 _java/dsa/queue_list.java 2.369 _java/dsa/sequence.java 11.949 _java/dsa/sequence_dlnode.java 2.625 _java/dsa/sorteddictionary.java 30.272 _java/dsa/sorteddictionary_extarray.java 1.539 _java/dsa/sorter.java 5.038 _java/dsa/sorter_bubblesort.java 8.719 _java/dsa/sorter_mergesort.java 5.388 _java/dsa/sorter_pqueue.java 8.315 _java/dsa/sorter_quicksort.java 37.293 _java/dsa/splaytree.java 2.532 _java/dsa/stack.java 7.623 _java/dsa/stack_array.java 6.522 _java/dsa/stack_list.java 3.577 _java/dsa/tree.java 10.528 _java/dsa/treelinkedlist.java 3.773 _java/dsa/vector.java 10.279 _java/dsa/vector_array.java 11.041 _java/dsa/vector_extarray.java 6.846 _java/dsa/vertex.java 12.407 _java/dsa/vertex_list.java
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.