Algorithms

Algorithm is defined as a set of well-defined instructions that are sequenced to do some work including manipulations, etc. Any algorithm will have a start point and a termination point. Abdullah Muhammad bin Musa al-Khwarizmi, the Persian scientist and mathematician, who is also called as "The Father Of Algebra", was indirectly responsible for the formulation of the term "Algorithm" in the 9th century. Later, it has become the information, which can indicate the computer on the series of steps that has to be followed to perform the tasks it is intended to. The data are read from an input source and written back in to an output source after the processing of input data is made. The specific abstract data types require internal data only for algorithm specified. The algorithm has to be specified and defined well based on the constraints that have to be considered in processing the information to attain a specific task.

Algorithms need to be clear and also computational. The flow of control is from top to bottom. Algorithms can be specified as flowcharts or source code or can even be specified in natural languages or programming languages too. Since the natural languages are verbal, it is difficult to follow it when it is more technical. Flowcharts and source codes are better means to formulate algorithms, as they can avoid ambiguities.

Programming languages can be used when the algorithm has to be understood by the computer itself. In the case of terminating an algorithm, the process has to be checked clearly whether the intended task is completed successfully or not. If it is completed then the process can be halted or else, the algorithm should contain the necessary steps to loop the process again. If the output is positive, then it means that the process is successful and can be terminated. The process is considered to be a failure one, when it receives negative responses.


Categories

Searching and sorting

Events

Compression

 
Sponsored results

Links
  • Priority Queues
    Electronic bibliography on priority queues (heaps). Links to downloadable reports, researchers' home pages, and software.
    http://www.leekillough.com/heaps/
  • Problems in Analysis of Algorithms
    A list of open problems with updates and solutions.
    http://pauillac.inria.fr/algo/AofA/Problems/
  • Pattern Matching Pointers
    A collection of links for and to researchers in the subject.
    http://www.cs.ucr.edu/~stelo/pattern.html
  • OOPWeb Algorithms Directory
    Algorithms lecture notes, courses, tutorials, references, guides and online books.
    http://www.oopweb.com/Algorithms/Files/Algorithms.html
  • Introduction to Quantum Algorithms
    An introduction to quantum algorithms by Matthew Hayward for those new to the field and who do not have an extensive physics background.
    http://alumni.imsa.edu/~matth/quant/299/paper/
  • On the Road to Algorithms
    Information on algorithms such as Bubble Sort and Random Number Generation, using HTML, Java and Perl. Collected by Lam Ka Chun (Raymond).
    http://www.hlcmklam.com/
  • Resources for the Analysis of Algorithms
    Links to papers, conferences and other sites, maintained by Helmut Prodinger.
    http://math.sun.ac.za/~prodinger/
  • Self-stabilizing Algorithms
    A project to create tools for developing and testing self-stabilizing algorithms.
    http://www.sphere.pl/~kuszner/self-stab/
  • Tree Automata Techniques and Applications
    An evolving web text in PostScript and PDF, with related software.
    http://www.grappa.univ-lille3.fr/tata
  • Web Data Structures and Algorithms
    Lecture notes and links for a course by Godfried Toussaint.
    http://cgm.cs.mcgill.ca/~godfried/teaching/algorithms-web.html
  • Stony Brook Algorithm Repository
    This is a collection of implementations for 75 fundamental algorithms problems, including data structures, numerical and combinatorial algorithms,graph algorithms, and computational geometry. Implementations are available in C++, Java, Fortran, and other languages.
    http://www.cs.sunysb.edu/~algorith/
  • Sourcebank - Computer Science - Algorithms
    A collection of source code for various topics.
    http://archive.devx.com/sourcebank/directorybrowse.asp
  • Softpanorama Virtual Library
    Section on Algorithms and Data Structures. A compilation of links.
    http://www.softpanorama.org/Algorithms/algorithms.shtml
  • Dictionary of Algorithms, Data Structures, and Problems
    A dictionary of algorithms, algorithmic techniques, data structures, and archetypical problems, with related definitions. Many entries have links to implementations, tutorials, and bibliographical references.
    http://www.nist.gov/dads/
  • Design and Analysis of Computer Algorithms
    Lecture notes; applets and code in C, C++, and Java; links regarding books, journals, computability, quantum computing, societies and organizations.
    http://www.personal.kent.edu/~rmuhamma/Algorithms/algorithm.html
  • Algorithms Courses
    Links to courses in algorithms maintained at various university computer science departments.
    http://www.cs.pitt.edu/~kirk/algorithmcourses/
  • Algorithms in the Real World
    Notes for a course at Carnegie Mellon University.
    http://www.cs.cmu.edu/~guyb/realworld.html
  • Algorithms Archive
    A collection including searching, sorting, tracking, mathematics and cellular automata. In English and Italian.
    http://editor.altervista.org/
  • Algorithm Design Paradigms
    A course by Paul Dunne at the University of Liverpool. Slides and notes in HTML and PS.
    http://www.csc.liv.ac.uk/~ped/teachadmin/algor/algor.html
  • ACM SIGACT
    Special Interest Group on Algorithms and Computation Theory, the ACM special interest group for Theoretical Computer Science. Site has membership information, meetings, reports and a newsletter for members.
    http://sigact.acm.org/
  • The Algorithm Base
    Database of algorithms. May be scanned through or can be questioned through a knowledge based assistant. Links to originating web sites.
    http://www.intelligenceunited.com/index2.html
  • Analysis Of Algorithms
    An initiative of attendees of the 1997 Dagstuhl seminar, these pages provide research papers, a bulletin board, and links to researchers and other resources in the field. The focus is on average case and probabilistic analysis.
    http://pauillac.inria.fr/algo/AofA/
  • CATS: Combinatorial Algorithms Test Sets
    Searchable index of problems, links and methodology.
    http://www.jea.acm.org/CATS/
  • Data Structures
    Introduction to data structures, with Java code, by Peter M. Williams.
    http://www.cogs.susx.ac.uk/local/teach/dats/dats.html
  • Data Structures
    Lecture notes by Steven Skiena.
    http://www.cs.sunysb.edu/~skiena/214/lectures/
  • Computer Programming Algorithms Directory
    Resources that describe computer programming algorithms.
    http://www.algosort.com/
  • Combinatorial Algorithms
    Course material, syllabus and notes for a course by Roger Whitney at SDSU.
    http://www.eli.sdsu.edu/courses/fall95/cs660/
  • Combinatorial Algorithms
    Lecture notes of a course at San Diego State University.
    http://www.eli.sdsu.edu/courses/fall95/cs660/notes/
  • Abstract State Machines
    A formal method for specifying and verifying algorithms. Tools, meetings, researchers in the area.
    http://www.eecs.umich.edu/gasm/
  • Hesselink, Wim
    Aspects and modalities of nondeterminacy, predicate transformation semantics, concurrent and distributed programming, design and correctness of algorithms, geometric algorithms, and the use of mechanical theorem proving for correctness and design of concurrent and distributed systems.
    http://www.cs.rug.nl/~wim/

 

The Computer Science Directory currently has categories, which include links along with indexed pages.