Skip to content
forked from gzc/CLRS

📓Solutions to Introduction to Algorithms

License

Notifications You must be signed in to change notification settings

wujianhanshu/CLRS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solutions to CLRS.

Solutions to Introduction Introduction to Algorithms by Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen (CLRS).

This repo needs your help.

If you are interested in this project, you could complete problems which are marked "UNSOLVED" in the following. Or if you are interested in certain chapter that is not completed, you could fork this project and issue a pull request to this repo. Appreciate your effort.

如果你感兴趣,可以完成没有完成的题(下面有个UNSOLVED列表),或者如果你对某章节感兴趣想要完成,可以fork这个项目然后pull request进这个repo。

In order to speed up this project, we will ignore hard problems (for instance, problems in the very end of every chapter) and review them when finishing mediocre problems. Moreover, we will only focus sections that are interesting. You could also help to finish these hard peoblems.

If a problem is too easy to elaborate, we'll mark it as straightforward in order to speed up the progress.


<tr> <td align = "center" colspan='20' width = "100%"><font size="4px" color="#0x888888">Part I: Foundations</font></td></tr>


   <tr>
	<td align="center">I</td>
	<td align="center"><a href="./C01-The-Role-of-Algorithms-in-Computing/1.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C01-The-Role-of-Algorithms-in-Computing/1.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C01-The-Role-of-Algorithms-in-Computing/problem.md"><font color="black">p</font></td>
</tr>

      <tr>
	<td align="center">II</td>
	<td align="center"><a href="./C02-Getting-Started/2.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C02-Getting-Started/2.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C02-Getting-Started/2.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C02-Getting-Started/problem.md"><font color="black">p</font></td>
</tr>

<tr>
	<td align="center">III</td>
	<td align="center"><a href="./C03-Growth-of-Functions/3.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C03-Growth-of-Functions/3.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C03-Growth-of-Functions/problem.md"><font color="black">p</font></td>
</tr>


          <tr>
	<td align="center">IV</td>
	<td align="center"><a href="./C04-Recurrences/4.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C04-Recurrences/4.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C04-Recurrences/4.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C04-Recurrences/4.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C04-Recurrences/problem.md"><font color="black">p</font></td>
</tr>

<tr>
	<td align="center">V</td>
	<td align="center"><a href="./C05-Probabilistic-Analysis-and-Randomized-Algorithms/5.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C05-Probabilistic-Analysis-and-Randomized-Algorithms/5.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C05-Probabilistic-Analysis-and-Randomized-Algorithms/5.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C05-Probabilistic-Analysis-and-Randomized-Algorithms/5.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C05-Probabilistic-Analysis-and-Randomized-Algorithms/problem.md"><font color="black">p</font></td>
</tr>

<tr>
	<td align = "center" colspan='20' width = "100%"><font size="4px" color="#0x888888"> Part II: Sorting and Order Statistics</font></td>
</tr>


<tr>
	<td align="center">VI</td>
	<td align="center"><a href="./C06-Heapsort/6.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C06-Heapsort/6.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C06-Heapsort/6.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C06-Heapsort/6.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C06-Heapsort/6.5.md"><font color="black">5</font></td>
	<td align="center"><a href="./C06-Heapsort/problem.md"><font color="black">p</font></td>
</tr>

<tr>
	<td align="center">VII</td>
	<td align="center"><a href="./C07-Quicksort/7.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C07-Quicksort/7.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C07-Quicksort/7.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C07-Quicksort/7.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C07-Quicksort/problem.md"><font color="black">p</font></td>
</tr>

<tr>
	<td align="center">VIII</td>
	<td align="center"><a href="./C08-Sorting-in-Linear-Time/8.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C08-Sorting-in-Linear-Time/8.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C08-Sorting-in-Linear-Time/8.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C08-Sorting-in-Linear-Time/8.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C08-Sorting-in-Linear-Time/problem.md"><font color="black">p</font></td>
</tr>





<tr>
	<td align="center">IX</td>
	<td align="center"><a href="./C09-Medians-and-Order-Statistics/9.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C09-Medians-and-Order-Statistics/9.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C09-Medians-and-Order-Statistics/9.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C09-Medians-and-Order-Statistics/problem.md"><font color="black">p</font></td>
</tr>


    <tr>
	<td align = "center" colspan='20' width = "100%"><font size="4px" color="#0x888888">Part III: Data Structures</font></td>
</tr>



<tr>
	<td align="center">X</td>
	<td align="center"><a href="./C10-Elementary-Data-Structures/10.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C10-Elementary-Data-Structures/10.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C10-Elementary-Data-Structures/10.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C10-Elementary-Data-Structures/10.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C10-Elementary-Data-Structures/problem.md"><font color="black">p</font></td>
</tr>

<tr>
	<td align="center">XI</td>
	<td align="center"><a href="./C11-Hash-Tables/11.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C11-Hash-Tables/11.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C11-Hash-Tables/11.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C11-Hash-Tables/11.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C11-Hash-Tables/11.5.md"><font color="black">5</font></td>
	<td align="center"><a href="./C11-Hash-Tables/problem.md"><font color="black">p</font></td>
</tr>



        <tr>
	<td align="center">XII</td>
	<td align="center"><a href="./C12-Binary-Search-Trees/12.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C12-Binary-Search-Trees/12.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C12-Binary-Search-Trees/12.3.md"><font color="black">3</font></td>
	</tr>


    <tr>
	<td align="center">XIII</td>
	<td align="center"><a href="./C13-Red-Black-Trees/13.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C13-Red-Black-Trees/13.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C13-Red-Black-Trees/13.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C13-Red-Black-Trees/13.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C13-Red-Black-Trees/problem.md"><font color="black">p</font></td></tr>
	
	
	<tr>
	<td align="center">XIV</td>
	<td align="center"><a href="./C14-Augmenting-Data-Structures/14.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C14-Augmenting-Data-Structures/14.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C14-Augmenting-Data-Structures/14.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C14-Augmenting-Data-Structures/problem.md"><font color="black">p</font></td>
	</tr>
	
<tr>
<td align = "center" colspan='20' width = "100%"><font size="4px" color="#0x888888">Part IV: Advanced Design and Analysis Techniques</font></td></tr>

<tr>
	<td align="center">XV</td>
	<td align="center"><a href="./C15-Dynamic-Programming/15.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C15-Dynamic-Programming/15.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C15-Dynamic-Programming/15.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C15-Dynamic-Programming/15.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C15-Dynamic-Programming/15.5.md"><font color="black">5</font></td>
	</tr>
	
<tr>
	<td align="center">XVI</td>
	<td align="center"><a href="./C16-Greedy-Algorithms/16.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C16-Greedy-Algorithms/16.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C16-Greedy-Algorithms/16.3.md"><font color="black">3</font></td>
	</tr>
	
<tr>
<td align = "center" colspan='20' width = "100%"><font size="4px" color="#0x888888">Part V: Advanced Data Structures</font></td></tr>

<tr>
	<td align="center">XVIII</td>
	<td align="center"><a href="./C18-B-Trees/18.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C18-B-Trees/18.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C18-B-Trees/18.3.md"><font color="black">3</font></td>
	</tr>
	
	<tr>
	<td align="center">XIX</td>
	<td align="center"><a href="./C19-Binomial-Heaps/19.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C19-Binomial-Heaps/19.2.md"><font color="black">2</font></td>
	</tr>
	
	<tr>
	<td align="center">XXI</td>
	<td align="center"><a href="./C21-Data-Structures-for-Disjoint-Sets/21.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C21-Data-Structures-for-Disjoint-Sets/21.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C21-Data-Structures-for-Disjoint-Sets/21.3.md"><font color="black">3</font></td>
	</tr>

<tr>
<td align = "center" colspan='20' width = "100%"><font size="4px" color="#0x888888">Part VI: Graph Algorithms</font></td></tr>

	<tr>
	<td align="center">XXII</td>
	<td align="center"><a href="./C22-Elementary-Graph-Algorithms/22.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C22-Elementary-Graph-Algorithms/22.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C22-Elementary-Graph-Algorithms/22.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C22-Elementary-Graph-Algorithms/22.4.md"><font color="black">4</font></td>
	<td align="center"><a href="./C22-Elementary-Graph-Algorithms/22.5.md"><font color="black">5</font></td>
	<td align="center"><a href="./C22-Elementary-Graph-Algorithms/problem.md"><font color="black">p</font></td>
	</tr>
	
	<tr>
	<td align="center">XXIII</td>
	<td align="center"><a href="./C23-Minimum-Spanning-Trees/23.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C23-Minimum-Spanning-Trees/23.2.md"><font color="black">2</font></td>
	</tr>

	<tr>
	<td align="center">XXIV</td>
	<td align="center"><a href="./C24-Single-Source-Shortest-Paths/24.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C24-Single-Source-Shortest-Paths/24.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C24-Single-Source-Shortest-Paths/24.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C24-Single-Source-Shortest-Paths/24.4.md"><font color="black">4</font></td>
	</tr>
	
	<tr>
	<td align="center">XXV</td>
	<td align="center"><a href="./C25-All-Pairs-Shortest-Paths/25.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C25-All-Pairs-Shortest-Paths/25.2.md"><font color="black">2</font></td>
	</tr>
	
	<tr>
	<td align="center">XXVI</td>
	<td align="center"><a href="./C26-Flow-networks/26.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C26-Flow-networks/26.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C26-Flow-networks/26.3.md"><font color="black">3</font></td>
	</tr>
	
	<tr>
<td align = "center" colspan='20' width = "100%"><font size="4px" color="#0x888888">Part VII: Selected Topics</font></td></tr>

<tr><td align="center">XXXI</td>
	<td align="center"><a href="./C31-Number-Theoretic-Algorithms/31.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C31-Number-Theoretic-Algorithms/31.2.md"><font color="black">2</font></td>
	</tr>

<tr>
	<td align="center">XXXII</td>
	<td align="center"><a href="./C32-String-Matching/32.1.md"><font color="black">1</font></td>
	<td align="center"><a href="./C32-String-Matching/32.2.md"><font color="black">2</font></td>
	<td align="center"><a href="./C32-String-Matching/32.3.md"><font color="black">3</font></td>
	<td align="center"><a href="./C32-String-Matching/32.4.md"><font color="black">4</font></td>
	</tr>
	
	<tr><td align="center">XXXIII</td>
	<td align="center"><a href="./C33-Computational-Geometry/33.1.md"><font color="black">1</font></td>
	</tr>
	<tr><td align="center">XXXV</td>
	<td align="center"><a href="./C35-Approximation-Algorithms/35.1.md"><font color="black">1</font></td>
	</tr>
Chapter Section
***

##Data Structure&algorithm implementation

###BASIC

###TREE/ADVANCED

###DYNAMIC/GREEDY

###GRAPH

###GEOMETRY

###STRING

#UNSOLVED

11.1.4 11.3.5 11.3.6 11.5.1

22.4.4

24.1.5 24.3.5 24.4.4 24.4.9 24.4.11 24.4.12

25.1.4 25.1.5 25.2.3 25.2.9

31.1.11 31.2.7 31.2.9

32.2.4 32.3.4 32.4.6

33.1.8


Follow @louis1992 on github to help finish this task.

Disclaimer: the solutions in this repository are crowdsourced work, and in any form it neither represents any opinion of nor affiliates to the authors of Introduction to Algorithms or the MIT press.

About

📓Solutions to Introduction to Algorithms

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 73.4%
  • C 15.6%
  • Python 9.6%
  • Makefile 1.4%