: Network Disk DownloadIntroduction to algorithms the third edition of the Chinese version of the clear PDF, the book a total of 8 sections 35 chapters, covering the basic knowledge, sequencing and sequencing statistics, data structure, advanced design and analysis technology, advanced data structure, graph algorithms, algorithm issues selected, and mathematical
]- -); A } - - Free(TMP); the returnresult; -}Note that the POW function is a simple function written by itself rather than a function in MATH.H: 1 int Pow ( int d,int m) { 2 int result=1 ; 3 while (m> 0 4 result *= D; 5 --M; 6 7 return result; 8 } (3) Main algorithm:1 voidRabin_karp_matcher (Char*t,Char*p,intDintq) {2 ints,i,c;3 intm=strlen (p);4 intn=strlen (t);5 6 intPx=horner (P,d,strlen (p))%Q;7 int*tx=cal (t,m,d);8 9C=n-m +1;Ten One
() method in the Bubblesort.java program (listing 3.1) with the Oddevensort () method . Make sure it runs in a sort of different amount of data, and that you need to figure out the number of two scans. Parity Ordering is actually useful in multiprocessor environments where the processor can process each odd pair at the same time, and then handle even pairs at the same time. Because the odd pairs are independent of each other, each pair can be compared and exchanged with different processors. T
Select the algorithm pseudo-code:For j=1-n-1 smallest = j for i=j+1 to N if A[i]This article is from the "Silly Endless Upgrade Tour" blog, make sure to keep this source http://zhangshifan.blog.51cto.com/9970564/1618381Introduction to Algorithms third Edition exercise 2.2-2
rods in different ways, then cut into two parts is a variable amount, bad control.According to the above ideas, we can use two methods to try to solve this problem:recursion (Key code):/** * Optimal cutting scheme for calculating steel bars of length n (recursive) * @author Aaron * August 3, 2015 * /private static int Getmax (int[] p, int n) { System.out.println (n); if (n Memory Search (Key code):private static int[] Getrecordarray (int n) {if (n full Source code d
2.2-1:Θ (N3)2.2-2: Insert sortvoidSelectionsort (intA[],intN) { intI, J, K, Key; for(i=0; i1; i++) {k=i; for(j=i+1; j) if(A[k] > a[j]) k =J; if(k! =i) {key=A[k]; A[K]=A[i]; A[i]=key; } }}View CodeBest case: Θ (n2)Worst case: Θ (n2)2.2-3: Linear sortingAverage situation: N/2Worst case: N2.2-4:Method: First to determine whether the completion criteria have been met, in the best case, the program can have a better effect.Introduction to Algori
1counting-SORT2 (a,k)2 Let C[0..K] is a new array3 fori =0 to K4c[i]=05 fori = 1To A.length6C[a[i]] = c[a[i]]+17 fori = 1to K8C[i] = C[i] + c[i-1]9 fori = a.length Downto 1Ten whileI C[a[i]) One Exchagnge A[i] with A[j] AC[A[J]] = c[a[j]]-1#include Introduction to Algorithms third Edition study questions 8-2.E
is n, the loop is invariant, that is, either the subscript I (a[i] = = v) is taken in the array n, or it is not found (v = NIL). Then add an element, make the scale of n+1, easy to know, the size of n since the establishment (can get a useful nature, conclusion), scale n+1 at most one time equal judgment (that is, in the original array does not take the case of I), and finally can obtain useful conclusions. The iteration (in this case, size + 1) will keep the loop invariant.Termination: Finall
[] arr = {2, 5, 8, 3, 6}; Selectionsort (arr); } Public Static voidSelectionsort (int[] arr) { for(inti=0;i//The outer loop controls which position the number is compared to the number in the back for(intj=i+1;j//the inner loop controls how many times this number needs to be compared to the subsequent number. if(Arr[i]>arr[j]) {// //This condition is guaranteed to be arranged from small to large, and vice versa from large to small intt
Requirements:As written, each loop iteration in the List-search ' procedure requires the tests:One for X≠l.nil and one for x.key≠k. Show How to eliminate the test forX≠l.nil in each iteration.Solution:The key is to set Sentinel Sentinel's key value to K prior to the start of the while loop, so that the while loop will terminate if the query succeeds in the listPseudo codeList-search ' (L, K)1 L.nil.key = k2 x = L.nil.next3 while X.key≠k4 x = X.next5 if x = = L.nil6 L.nil.key = Nil7 return XIntro
this optimal step size of the smaller array109 //var Steparr = [1031612713, 217378076, 45806244, 9651787, 2034035, 428481, 90358, 19001, 4025, 836, 182, 34, 9, 1]//for large The step selection of an array the vari = 0;111 varSteparrlength =steparr.length; the varLen =Array.Length;113 varLen2 = parseint (LEN/2); the the for(; i ) { the if(Steparr[i] >len2) {117 Continue;118 }119 - Stepsort (Steparr[i]);121 }122 123 //Sort a step124
import Java.util.arraylist;import java.util.List; Public classStrtest { Public Static voidMain (string[] args) {//simulation generates a large integerLong n=Shengcheng (); //split this big integer to see what 's made of it.listsplitnumber (n); for(intI=0; I) {System. out. println (list.Get(i)); } } /** function: Calculates 2 of the whole number of times * Yellow Sea * Time: 2016-01-20 * @param n * @return*/ Private Static LongGetnumberbyid (intN) {return(Long) Math.pow (2, N); }
- * 8000 35.7 8.0 + * ... - * + ******************************************************************************/ A at /** - * The - * The running time of a method using a doubling ratio test. - * - * For additional documentation, see http://algs4.cs.princeton.edu/14analysis">section 1.4 - * of in * - * @authorRobert Sedgewick to * @authorKevin Wayne + */ - Public classDoublingratio { the Private Static Final intMaximum_integer = 1000000; * $ //This is class should not bei
improvement)Algorithm: asks if a set of n numbers contains and is 2 elements of X (need to support C99 standard)BOOLSumX (intA[],intNintx) { intlength, complement[n]; MergeSort (A,0, N-1); Length=deduplication (A, n); Xcomplement (A, complement, length, x); returnMergesearch (A, complement, length);}BOOLMergesearch (intA[],intB[],intN) { intI, J; for(i=0, j=n-1; I0 a[i]!=B[j];) if(A[i] ; Elsej--; returnI0;}voidXcomplement (intA[],intAcomplement[],intNintx) { inti; for(i=0; ia[i];}
its specified element.9, Mulitmap and mulitset elements of the same key, stored in the adjacent location, the traversal can be guaranteed to return the same key elements. So count (key) returns the number of elements of the key, and find (key) returns the first function of the key.Here is a simple example of applying a map container: Reading a file, recording the number of occurrences of each word in the file, and outputting the occurrences of the word and the number of occurrences in dictionar
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.