<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="id4722858">
  <name>Table of Content</name>
  <metadata>
  <md:version>1.1</md:version>
  <md:created>2007/10/19 07:56:37.614 GMT-5</md:created>
  <md:revised>2007/11/11 05:26:53.489 US/Central</md:revised>
  <md:authorlist>
      <md:author id="hanv">
      <md:firstname/>
      
      <md:surname/>
      
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="hanv">
      <md:firstname/>
      
      <md:surname/>
      
    </md:maintainer>
  </md:maintainerlist>
  
  

  <md:abstract/>
</metadata>
  <content>
    <para id="id5225104">Data Structures and Algorithms</para>
    <para id="id5225108">Contents</para>
    <list type="enumerated" id="id5225112">
      <item>Introduction to Algorithms<list type="bulleted" id="id5225121"><item>Problem solution</item><item>Data models</item><item>Data models in programming languages</item><item>Data structures</item><item>Algorithms analysis</item></list></item>
      <item>Linked lists<list type="bulleted" id="id3686333"><item>Singly linked lists</item><item>Doubly linked lists</item><item>Circular linked lists</item><item>Table transform </item></list></item>
      <item>Stack and Queue<list type="bulleted" id="id3686360"><item>Stack</item><item>Queue</item><item>Priority queue</item></list></item>
      <item>Recursion<list type="bulleted" id="id3686383"><item>Introduction to recursion</item><item>Recursion analysis</item><item>Tail recursion</item><item>Recursion and stack</item><item>Course-of-values recursion</item><item>Potential recursion</item><item>Transfinite recursion</item><item>Simultaneous recursion</item><item>Back tracking</item><item>Conclusion </item></list></item>
      <item>Binary search trees<list type="bulleted" id="id3686441"><item>Introduction to binary trees</item><item>Expected node depth</item><item>Analyzing height</item><item>Post mortem</item><item>Heap</item></list></item>
      <item>Sorting<list type="bulleted" id="id3716479"><item>Basic sort algorithms<list type="bulleted" id="id3716485"><item>Insertion sort</item><item>Selection sort</item><item>Bubble sort</item></list></item><item>Effectively sorting algorithms<list type="bulleted" id="id3716508"><item>Shell sorting</item><item>Heap sort</item><item>Quicksort</item><item>Merge sort</item></list></item></list></item>
      <item>Graphs<list type="bulleted" id="id3716536"><item>Graph representation</item><item>Graph analysis</item><item>Minimum spanning trees<list type="bulleted" id="id3716553"><item>Boruvska’s algorithms</item><item>Kruskal’s algorithms</item><item>Jarnik-Prim’s algorithms</item></list></item><item>Shortest paths<list type="bulleted" id="id3716578"><item>Properties of shortest paths</item><item>Dijkstra’s algorithms</item><item>Breadth-first search</item><item>Bellman-Ford algorithms</item><item>Johnson’s algorithms</item></list></item><item>Union-find problem</item><item>Connectivity<list type="bulleted" id="id3716619"><item>Non-direction connectivity</item><item>Direction connectivity</item></list></item><item>Topological sort</item></list></item>
      <item>Hashing<list type="bulleted" id="id3716642"><item>Introduction to hashing algorithms</item><item>Hash list</item><item>Hash table</item><item>Hash tree</item><item>Choosing hash function</item><item>Universal hashing</item><item>Perfect hashing</item></list></item>
    </list>
  </content>
</document>
