National Sun Yat-sen University
Function library for programming contest (May 18, 2004)
| file name | description |
| 2d_max.c | maximum points on 2-D plane |
| 2lin_ang.c | angle of two lines (each line by 2 points) |
| 2line.c | intersection of two lines (each line by 2 points) |
| 2seg.c | intersection of two line segments |
| all_pair.c | all-pair shortest path of a graph without getting the path |
| all_path.c | all-pair shortest path of a graph with getting the path |
| bfs.c | breadth-first search of a directed graph |
| bi2gray.c | convert binary code to Gray code with 0/1 bit string |
| bubble.c | bubble sort |
| c_intan.c | internal tangent lines of two circles |
| c_outtan.c | external tangent lines of two circles |
| cir2pnt.c | tangent lines of one point to a circle |
| cirinter.c | intersection points of two circles |
| cl_pair.cpp | closet pair of n points on the 2-D plane (divide-and-conquer) |
| combine.c | the value of combination C(n,k), n<=33, for all k<=n |
| combine1.c | combination of a given sequence # in C(n, k) combinations |
| combine2.c | get the sequence # of a combination in C(n, k) combinations |
| dfs.c | depth-first search of a directed graph |
| gray2bi.c | convert Gray code to binary code with 0/1 bit string |
| huffman.c | Huffman code of radix k (k-ary tree), k>=2 |
| hull.c | convex hull of n points on the 2-D plane |
| lcs1.c | longest common subsequence (cost by editor operations) |
| lcs2.c | longest common subsequence (simple version) |
| long_ari.c | long integer arithmetic operations (+ - * / mod ^) |
| longadd.c | long integer addition |
| longdiv.c | long integer division |
| longmul.c | long integer multiplication |
| longsub.c | long integer substraction |
| permute1.c | permutation of a given sequence # in P(n,k) permutations |
| permute2.c | sequence # of a given permutation in P(n,k) permutations |
| pnt2line.c | distance between a point and a line |
| pnt2seg.c | distance between a point and a line segment |
| prime.c | find all prime numbers between 1 and n |
| rad_conv.c | radix conversion (from x to 10 or 10 to x, long) |
| rational.c | add, sub, mul, div of rational numbers |
| short.c | single source shortest path in a graph |
| sort_ne.cpp | shortest path in a graph, with negative edges, no negative cycle |
| shortdiv.c | one long integer in an array divided by an integer |
| shotrmul.c | multiplication of one long integer in an array and an integer |
| topo.c | topological sorting (ordering) on an acyclic digraph |
| trans.c | transitive closure of a directed graph (n iterations) |
| translog.c | transitive closure of a directed graph (logn iterations) |
| tri_outc.c | external center of a triangle |
| tsp.c | traveling salesperson problem (branch and bound) |