Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Theoretical Computer Science Cheat Sheet - Theory of Algorithms | CSC 721, Study notes of Algorithms and Programming

Material Type: Notes; Class: Theory of Algorithms; Subject: Computer Science; University: Wake Forest University; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 08/19/2009

koofers-user-39q
koofers-user-39q 🇺🇸

10 documents

1 / 10

Toggle sidebar

Related documents


Partial preview of the text

Download Theoretical Computer Science Cheat Sheet - Theory of Algorithms | CSC 721 and more Study notes Algorithms and Programming in PDF only on Docsity! Theoretical Computer Science Cheat Sheet De nitions Series f(n) = O(g(n)) i 9 positive c; n0 such that 0  f(n)  cg(n) 8n  n0. nX i=1 i = n(n+ 1) 2 ; nX i=1 i2 = n(n+ 1)(2n+ 1) 6 ; nX i=1 i3 = n2(n+ 1)2 4 : In general: nX i=1 im = 1 m+ 1  (n+ 1)m+1 1 nX i=1 (i+ 1)m+1 im+1 (m+ 1)im n1X i=1 im = 1 m+ 1 mX k=0  m+ 1 k  Bkn m+1k: Geometric series: nX i=0 ci = cn+1 1 c 1 ; c 6= 1; 1X i=0 ci = 1 1 c ; 1X i=1 ci = c 1 c ; c < 1; nX i=0 ici = ncn+2 (n+ 1)cn+1 + c (c 1)2 ; c 6= 1; 1X i=0 ici = c (1 c)2 ; c < 1: Harmonic series: Hn = nX i=1 1 i ; nX i=1 iHi = n(n+ 1) 2 Hn n(n 1) 4 : nX i=1 Hi = (n+ 1)Hn n; nX i=1  i m  Hi =  n+ 1 m+ 1  Hn+1 1 m+ 1  : f(n) = (g(n)) i 9 positive c; n0 such that f(n)  cg(n)  0 8n  n0. f(n) = (g(n)) i f(n) = O(g(n)) and f(n) = (g(n)). f(n) = o(g(n)) i limn!1 f(n)=g(n) = 0. lim n!1 an = a i 8 2 R, 9n0 such thatjan aj < , 8n  n0. supS least b 2 R such that b  s, 8s 2 S. inf S greatest b 2 R such that b  s, 8s 2 S. lim inf n!1 an lim n!1 inffai j i  n; i 2 Ng. lim sup n!1 an lim n!1 supfai j i  n; i 2 Ng. n k  Combinations: Size k sub- sets of a size n set. n k  Stirling numbers (1st kind): Arrangements of an n ele- ment set into k cycles. 1.  n k  = n! (n k)!k! ; 2. nX k=0  n k  = 2n; 3.  n k  =  n n k  ; 4.  n k  = n k  n 1 k 1  ; 5.  n k  =  n 1 k  +  n 1 k 1  ; 6.  n m  m k  =  n k  n k m k  ; 7. X kn  r + k k  =  r + n+ 1 n  ; 8. nX k=0  k m  =  n+ 1 m+ 1  ; 9. nX k=0  r k  s n k  =  r + s n  ; 10.  n k  = (1)k  k n 1 k  ; 11.  n 1  =  n n  = 1; 12.  n 2  = 2n1 1; 13.  n k  = k  n 1 k  +  n 1 k 1  ;  n k Stirling numbers (2nd kind): Partitions of an n element set into k non-empty sets. n k 1st order Eulerian numbers: Permutations 12 : : : n on f1; 2; : : : ; ng with k ascents. n k 2nd order Eulerian numbers. Cn Catlan Numbers: Binary trees with n+ 1 vertices. 14.  n 1  = (n 1)!; 15.  n 2  = (n 1)!Hn1; 16.  n n  = 1; 17.  n k    n k  ; 18.  n k  = (n 1)  n 1 k  +  n 1 k 1  ; 19.  n n 1  =  n n 1  =  n 2  ; 20. nX k=0  n k  = n!; 21. Cn = 1 n+ 1  2n n  ; 22.  n 0  =  n n 1  = 1; 23.  n k  =  n n 1 k  ; 24.  n k  = (k + 1)  n 1 k  + (n k)  n 1 k 1  ; 25.  0 k  = n 1 if k = 0, 0 otherwise 26.  n 1  = 2n n 1; 27.  n 2  = 3n (n+ 1)2n +  n+ 1 2  ; 28. xn = nX k=0  n k  x+ k n  ; 29.  n m  = mX k=0  n+ 1 k  (m+ 1 k)n(1)k; 30. m!  n m  = nX k=0  n k  k nm  ; 31.  n m  = nX k=0  n k  n k m  (1)nkmk!; 32.  n 0  = 1; 33.  n n  = 0 for n 6= 0; 34.  n k  = (k + 1)  n 1 k  + (2n 1 k)  n 1 k 1  ; 35. nX k=0  n k  = (2n)n 2n ; 36.  x x n  = nX k=0  n k  x+ n 1 k 2n  ; 37.  n+ 1 m+ 1  = X k  n k  k m  = nX k=0  k m  (m+ 1)nk; Theoretical Computer Science Cheat Sheet Identities Cont. Trees 38.  n+ 1 m+ 1  = X k  n k  k m  = nX k=0  k m  nnk = n! nX k=0 1 k!  k m  ; 39.  x x n  = nX k=0  n k  x+ k 2n  ; 40.  n m  = X k  n k  k + 1 m+ 1  (1)nk; 41.  n m  = X k  n+ 1 k + 1  k m  (1)mk; 42.  m+ n+ 1 m  = mX k=0 k  n+ k k  ; 43.  m+ n+ 1 m  = mX k=0 k(n+ k)  n+ k k  ; 44.  n m  = X k  n+ 1 k + 1  k m  (1)mk; 45. (nm)!  n m  = X k  n+ 1 k + 1  k m  (1)mk; for n  m, 46.  n nm  = X k  m n m+ k  m+ n n+ k  m+ k k  ; 47.  n nm  = X k  m n m+ k  m+ n n+ k  m+ k k  ; 48.  n `+m  `+m `  = X k  k `  n k m  n k  ; 49.  n `+m  `+m `  = X k  k `  n k m  n k  : Every tree with n vertices has n 1 edges. Kraft inequal- ity: If the depths of the leaves of a binary tree are d1; : : : ; dn: nX i=1 2di  1; and equality holds only if every in- ternal node has 2 sons. Recurrences Master method: T (n) = aT (n=b) + f(n); a  1; b > 1 If 9 > 0 such that f(n) = O(nlogb a) then T (n) = (nlogb a): If f(n) = (nlogb a) then T (n) = (nlogb a log2 n): If 9 > 0 such that f(n) = (nlogb a+), and 9c < 1 such that af(n=b)  cf(n) for large n, then T (n) = (f(n)): Substitution (example): Consider the following recurrence Ti+1 = 2 2i  T 2i ; T1 = 2: Note that Ti is always a power of two. Let ti = log2 Ti. Then we have ti+1 = 2 i + 2ti; t1 = 1: Let ui = ti=2 i. Dividing both sides of the previous equation by 2i+1 we get ti+1 2i+1 = 2i 2i+1 + ti 2i : Substituting we nd ui+1 = 1 2 + ui; u1 = 12; which is simply ui = i=2. So we nd that Ti has the closed form Ti = 2 i2i1 . Summing factors (example): Consider the following recurrence Ti = 3Tn=2 + n; T1 = n: Rewrite so that all terms involving T are on the left side Ti 3Tn=2 = n: Now expand the recurrence, and choose a factor which makes the left side \tele- scope" 1 T (n) 3T (n=2) = n 3 T (n=2) 3T (n=4) = n=2 ... ... ... 3log2 n1 T (2) 3T (1) = 2 3log2 n T (1) 0 = 1 Summing the left side we get T (n). Sum- ming the right side we get log2 nX i=0 n 2i 3i: Let c = 32 and m = log2 n. Then we have n mX i=0 ci = n  cm+1 1 c 1  = 2n(c  clog2 n 1) = 2n(c  ck logc n 1) = 2nk+1 2n  2n1:58496 2n; where k = (log2 3 2 ) 1. Full history recur- rences can often be changed to limited his- tory ones (example): Consider the follow- ing recurrence Ti = 1 + i1X j=0 Tj ; T0 = 1: Note that Ti+1 = 1 + iX j=0 Tj : Subtracting we nd Ti+1 Ti = 1 + iX j=0 Tj 1 i1X j=0 Tj = Ti: And so Ti+1 = 2Ti = 2 i+1. Generating functions: 1. Multiply both sides of the equa- tion by xi. 2. Sum both sides over all i for which the equation is valid. 3. Choose a generating function G(x). Usually G(x) = P1 i=0 x i. 3. Rewrite the equation in terms of the generating function G(x). 4. Solve for G(x). 5. The coecient of xi in G(x) is gi. Example: gi+1 = 2gi + 1; g0 = 0: Multiply and sum:X i0 gi+1x i = X i0 2gix i + X i0 xi: We choose G(x) = P i0 x i. Rewrite in terms of G(x): G(x) g0 x = 2G(x) + X i0 xi: Simplify: G(x) x = 2G(x) + 1 1 x : Solve for G(x): G(x) = x (1 x)(1 2x) : Expand this using partial fractions: G(x) = x  2 1 2x 1 1 x  = x 0 @2X i0 2ixi X i0 xi 1 A = X i0 (2i+1 1)xi+1: So gi = 2 i 1. Theoretical Computer Science Cheat Sheet Number Theory Graph Theory The Chinese remainder theorem: There ex- ists a number C such that: C  r1 mod m1 ... ... ... C  rn mod mn if mi and mj are relatively prime for i 6= j. Euler's function: (x) is the number of positive integers less than x relatively prime to x. If Qn i=1 p ei i is the prime fac- torization of x then (x) = nY i=1 pei1i (pi 1): Euler's theorem: If a and b are relatively prime then 1  a(b) mod b: Fermat's theorem: 1  ap1 mod p: The Euclidean algorithm: if a > b are in- tegers then gcd(a; b) = gcd(a mod b; b): If Qn i=1 p ei i is the prime factorization of x then S(x) = X djx d = nY i=1 pei+1i 1 pi 1 : Perfect Numbers: x is an even perfect num- ber i x = 2n1(2n1) and 2n1 is prime. Wilson's theorem: n is a prime i (n 1)!  1 mod n: Mobius inversion: (i) = 8>< >: 1 if i = 1. 0 if i is not square-free. (1)r if i is the product of r distinct primes. If G(a) = X dja F (d); then F (a) = X dja (d)G a d  : Prime numbers: pn = n lnn+ n ln lnn n+ n ln lnn lnn +O  n lnn  ; (n) = n lnn + n (lnn)2 + 2!n (lnn)3 +O  n (lnn)4  : De nitions: Loop An edge connecting a ver- tex to itself. Directed Each edge has a direction. Simple Graph with no loops or multi-edges. Walk A sequence v0e1v1 : : : e`v`. Trail A walk with distinct edges. Path A trail with distinct vertices. Connected A graph where there exists a path between any two vertices. Component A maximal connected subgraph. Tree A connected acyclic graph. Free tree A tree with no root. DAG Directed acyclic graph. Eulerian Graph with a trail visiting each edge exactly once. Hamiltonian Graph with a path visiting each vertex exactly once. Cut A set of edges whose re- moval increases the num- ber of components. Cut-set A minimal cut. Cut edge A size 1 cut. k-Connected A graph connected with the removal of any k 1 vertices. k-Tough 8S  V; S 6= ; we have k  c(G S)  jSj. k-Regular A graph where all vertices have degree k. k-Factor A k-regular spanning subgraph. Matching A set of edges, no two of which are adjacent. Clique A set of vertices, all of which are adjacent. Ind. set A set of vertices, none of which are adjacent. Vertex cover A set of vertices which cover all edges. Planar graph A graph which can be em- beded in the plane. Plane graph An embedding of a planar graph.X v2V deg(v) = 2m: If G is planar then nm+ f = 2, so f  2n 4; m  3n 6: Any planar graph has a vertex with de- gree  5. Notation: E(G) Edge set V (G) Vertex set c(G) Number of components G[S] Induced subgraph deg(v) Degree of v (G) Maximum degree (G) Minimum degree (G) Chromatic number E(G) Edge chromatic number Gc Complement graph Kn Complete graph Kn1;n2 Complete bipartite graph r(k; `) Ramsey number Geometry Projective coordinates: triples (x; y; z), not all x, y and z zero. (x; y; z) = (cx; cy; cz) 8c 6= 0: Cartesian Projective (x; y) (x; y; 1) y = mx+ b (m;1; b) x = c (1; 0;c) Distance formula, Lp and L1 metric:p (x1 x0)2 + (x1 x0)2;jx1 x0jp + jx1 x0jp1=p; lim p!1 jx1 x0jp + jx1 x0jp1=p: Area of triangle (x0; y0), (x1; y1) and (x2; y2): 1 2 abs x1 x0 y1 y0x2 x0 y2 y0 : Angle formed by three points:B cos  = (x1; y1)  (x2; y2) `1`2 : Line through two points (x0; y0) and (x1; y1): x y 1 x0 y0 1 x1 y1 1 = 0: Area of circle, volume of sphere: A = r2; V = 43r 3: If I have seen farther than others, it is because I have stood on the shoulders of giants. { Issac Newton Theoretical Computer Science Cheat Sheet  Calculus Wallis' identity:  = 2  2  2  4  4  6  6    1  3  3  5  5  7    Brouncker's continued fraction expansion:  4 = 1 + 12 2 + 3 2 2+ 5 2 2+ 7 2 2+ Gregrory's series:  4 = 1 13 + 15 17 + 19    Newton's series:  6 = 1 2 + 1 2  3  23 + 1  3 2  4  5  25 +    Sharp's series:  6 = 1p 3  1 1 31  3 + 1 32  5 1 33  7 +     Euler's series: 2 6 = 1 12 + 1 22 + 1 32 + 1 42 + 1 52 +    2 8 = 1 12 + 1 32 + 1 52 + 1 72 + 1 92 +    2 12 = 1 12 122 + 132 142 + 152    Derivatives: 1. d(cu) dx = c du dx ; 2. d(u+ v) dx = du dx + dv dx ; 3. d(uv) dx = u dv dx + v du dx ; 4. d(un) dx = nun1 du dx ; 5. d(u=v) dx = v du dx  u dvdx v2 ; 6. d(ecu) dx = cecu du dx ; 7. d(cu) dx = (ln c)cu du dx ; 8. d(ln u) dx = 1 u du dx ; 9. d(sinu) dx = cosu du dx ; 10. d(cosu) dx = sinudu dx ; 11. d(tanu) dx = sec2 u du dx ; 12. d(cotu) dx = csc2 u du dx ; 13. d(secu) dx = tanu secu du dx ; 14. d(cscu) dx = cotu cscudu dx ; 15. d(arcsinu) dx = 1p 1 u2 du dx ; 16. d(arccosu) dx = 1p 1 u2 du dx ; 17. d(arctanu) dx = 1 1 u2 du dx ; 18. d(arccotu) dx = 1 1 u2 du dx ; 19. d(arcsecu) dx = 1 u p 1 u2 du dx ; 20. d(arccscu) dx = 1 u p 1 u2 du dx ; 21. d(sinhu) dx = coshu du dx ; 22. d(coshu) dx = sinhu du dx ; 23. d(tanhu) dx = sech2 u du dx ; 24. d(cothu) dx = csch2 udu dx ; 25. d(sechu) dx = sechu tanhudu dx ; 26. d(cschu) dx = cschu cothudu dx ; 27. d(arcsinhu) dx = 1p 1 + u2 du dx ; 28. d(arccoshu) dx = 1p u2 1 du dx ; 29. d(arctanhu) dx = 1 1 u2 du dx ; 30. d(arccothu) dx = 1 u2 1 du dx ; 31. d(arcsechu) dx = 1 u p 1 u2 du dx ; 32. d(arccschu) dx = 1 jujp1 + u2 du dx : Integrals: 1. Z cu dx = c Z u dx; 2. Z (u+ v) dx = Z u dx+ Z v dx; 3. Z xn dx = 1 n+ 1 xn+1; n 6= 1; 4. Z 1 x dx = lnx; 5. Z ex dx = ex; 6. Z dx 1 + x2 = arctanx; 7. Z u dv dx dx = uv Z v du dx dx; 8. Z sinx dx = cosx; 9. Z cosx dx = sinx; 10. Z tanx dx = ln j cosxj; 11. Z cotx dx = ln j cosxj; 12. Z secx dx = ln j secx+ tanxj; 13. Z cscx dx = ln j cscx+ cotxj; 14. Z arcsin xadx = arcsin x a + p a2 x2; a > 0; Partial Fractions Let N(x) and D(x) be polynomial func- tions of x. We can break down N(x)=D(x) using partial fraction expan- sion. First, if the degree of N is greater than or equal to the degree of D, divide N by D, obtaining N(x) D(x) = Q(x) + N 0(x) D(x) ; where the degree of N 0 is less than that of D. Second, factor D(x). Use the follow- ing rules: For a non-repeated factor: N(x) (x a)D(x) = A x a + N 0(x) D(x) ; where A =  N(x) D(x)  x=a : For a repeated factor: N(x) (x a)mD(x) = m1X k=0 Ak (x a)mk+ N 0(x) D(x) ; where Ak = 1 k!  dk dxk  N(x) D(x)  x=a : The reasonable man adapts himself to the world; the unreasonable persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable. { George Bernard Shaw Theoretical Computer Science Cheat Sheet Calculus Cont. 15. Z arccos xadx = arccos x a p a2 x2; a > 0; 16. Z arctan xadx = x arctan x a a2 ln(a2 + x2); a > 0; 17. Z sin2(ax)dx = 12a ax sin(ax) cos(ax); 18. Z cos2(ax)dx = 12aax+ sin(ax) cos(ax); 19. Z sec2 x dx = tanx; 20. Z csc2 x dx = cotx; 21. Z sinn x dx = sin n1 x cosx n + n 1 n Z sinn2 x dx; 22. Z cosn x dx = cosn1 x sinx n + n 1 n Z cosn2 x dx; 23. Z tann x dx = tann1 x n 1 Z tann2 x dx; n 6= 1; 24. Z cotn x dx = cot n1 x n 1 Z cotn2 x dx; n 6= 1; 25. Z secn x dx = tanx secn1 x n 1 + n 2 n 1 Z secn2 x dx; n 6= 1; 26. Z cscn x dx = cotx csc n1 x n 1 + n 2 n 1 Z cscn2 x dx; n 6= 1; 27. Z sinhx dx = coshx; 28. Z coshx dx = sinhx; 29. Z tanhx dx = ln j coshxj; 30. Z cothx dx = ln j sinhxj; 31. Z sechx dx = arctan sinhx; 32. Z cschx dx = ln tanh x2 ; 33. Z sinh2 x dx = 14 sinh(2x) 12x; 34. Z cosh2 x dx = 14 sinh(2x) + 1 2x; 35. Z sech2 x dx = tanhx; 36. Z arcsinh xadx = x arcsinh x a p x2 + a2; a > 0; 37. Z arctanh xadx = x arctanh x a + a 2 ln ja2 x2j; 38. Z arccosh xadx = 8< : x arccosh x a p x2 + a2; if arccosh xa > 0 and a > 0, x arccosh x a + p x2 + a2; if arccosh xa < 0 and a > 0, 39. Z dxp a2 + x2 = ln  x+ p a2 + x2  ; a > 0; 40. Z dx a2 + x2 = 1a arctan x a ; a > 0; 41. Z p a2 x2 dx = x2 p a2 x2 + a22 arcsin xa ; a > 0; 42. Z (a2 x2)3=2dx = x8 (5a2 2x2) p a2 x2 + 3a48 arcsin xa ; a > 0; 43. Z dxp a2 x2 = arcsin x a ; a > 0; 44. Z dx a2 x2 = 1 2a ln a+ xa x ; 45. Z dx (a2 x2)3=2 = x a2 p a2 x2 ; 46. Z p a2  x2 dx = x2 p a2  x2  a22 ln x+pa2  x2 ; 47. Z dxp x2 a2 = ln x+px2 a2 ; a > 0; 48. Z dx ax2 + bx = 1 a ln xa+ bx ; 49. Z x p a+ bx dx = 2(3bx 2a)(a+ bx)3=2 15b2 ; 50. Z p a+ bx x dx = 2 p a+ bx+ a Z 1 x p a+ bx dx; 51. Z xp a+ bx dx = 1p 2 ln p a+ bxpap a+ bx+ p a ; a > 0; 52. Z p a2 x2 x dx = p a2 x2 a ln a+ p a2 x2 x ; 53. Z x p a2 x2 dx = 13 (a2 x2)3=2; 54. Z x2 p a2 x2 dx = x8 (2x2 a2) p a2 x2 + a48 arcsin xa ; a > 0; 55. Z dxp a2 x2 = 1 a ln a+ p a2 x2 x ; 56. Z x dxp a2 x2 = p a2 x2; 57. Z x2 dxp a2 x2 = x 2 p a2 x2 + a22 arcsin xa; a > 0; 58. Z p a2 + x2 x dx = p a2 + x2 a ln a+ p a2 + x2 x ; 59. Z p x2 a2 x dx = p x2 a2 a arccos ajxj ; a > 0; 60. Z x p x2  a2 dx = 13 (x2  a2)3=2; 61. Z dx x p x2 + a2 = 1a ln xa+pa2 + x2 ;
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved