Results 1 
6 of
6
Structuring DepthFirst Search Algorithms in Haskell
, 1995
"... Depthfirst search is the key to a wide variety of graph algorithms. In this paper we express depthfirst search in a lazy functional language, obtaining a lineartime implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct alg ..."
Abstract

Cited by 26 (0 self)
 Add to MetaCart
Depthfirst search is the key to a wide variety of graph algorithms. In this paper we express depthfirst search in a lazy functional language, obtaining a lineartime implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct algorithms from individual reusable components. This style of algorithm construction turns out to be quite amenable to formal proof, which we exemplify through a calculationalstyle proof of a far from obvious stronglyconnected components algorithm. Classifications: Computing Paradigms (functional programming) ; Environments, Implementations, and Experience (programming, graph algorithms). 1 Introduction The importance of depthfirst search (DFS) for graph algorithms was established twenty years ago by Tarjan (1972) and Hopcroft and Tarjan (1973) in their seminal work. They demonstrated how depthfirst search could be used to construct a variety of efficient graph algorithms. In practice, this...
Metric Lexical Analysis
, 1999
"... . We study automatatheoretic properties of distances and quasidistances between words. We show that every additive distance is finite. We also show that every additive quasidistance is regularitypreserving, that is, the neighborhood of any radius of a regular language with respect to an addit ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. We study automatatheoretic properties of distances and quasidistances between words. We show that every additive distance is finite. We also show that every additive quasidistance is regularitypreserving, that is, the neighborhood of any radius of a regular language with respect to an additive quasidistance is regular. As an application we present a simple algorithm that constructs a metric (faulttolerant) lexical analyzer for any given lexical analyzer and desired radius (faulttolerance index). 1 Introduction You are frustrated when you type a UNIX command incorrectly and cannot find what the correct spelling is. You may be wondering why the system does not give any suggestions on what command you might want to type. Those questions concern the concepts of distances between words and neighborhoods of languages with respect to a distance and a radius. Much work has been done in spell checking and correction, and other online dictionary applications using various method...
Additive distances and quasidistances between words
 J. Universal Computer Sci
"... Abstract: We study additive distances and quasidistances between words. We show that every additive distance is finite. We then prove that every additive quasidistance is regularitypreserving, that is, the neighborhood of any radius of a regular language with respect to an additive quasidistance ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract: We study additive distances and quasidistances between words. We show that every additive distance is finite. We then prove that every additive quasidistance is regularitypreserving, that is, the neighborhood of any radius of a regular language with respect to an additive quasidistance is regular. Finally, similar results will be proven for contextfree, computable and computably enumerable languages. Key Words: some words Category: F.1.1, F.4.3
Advance Access published on February 15, 2006 doi:10.1093/comjnl/bxl001 MediumTerm Scheduler as a Solution for the Thrashing Effect †
"... We suggest a method for minimizing the paging on a system with a very heavy memory usage. Sometimes there are processes with active memory allocations that should be in the physical memory, but their total size exceeds the physical memory range. In such cases, the operating system starts swapping pa ..."
Abstract
 Add to MetaCart
We suggest a method for minimizing the paging on a system with a very heavy memory usage. Sometimes there are processes with active memory allocations that should be in the physical memory, but their total size exceeds the physical memory range. In such cases, the operating system starts swapping pages in and out of the memory on every context switch. We minimize this thrashing by splitting the processes into a number of bins, using Bin Packing approximation algorithms. We modify the scheduler to have two levels of scheduling—mediumterm scheduling and shortterm scheduling. The mediumterm scheduler switches the bins in a RoundRobin manner, whereas the shortterm scheduler runs the standard Linux scheduler among the processes in each bin. We show that this feature does not impose modifications on the shared memory maintenance. In addition, we show how to adjust the new scheduler to fit some elements of the original scheduler like priority and realtime privileges. Experimental results show significant improvement on heavily loaded memories. The code of this project is free and can be found in
unknown title
, 2004
"... www.elsevier.com/locate/ipl A fast algorithm for computing a longest common increasing subsequence IHsuan Yang a, ChienPin Huang a, KunMao Chao a,b,∗ ..."
Abstract
 Add to MetaCart
www.elsevier.com/locate/ipl A fast algorithm for computing a longest common increasing subsequence IHsuan Yang a, ChienPin Huang a, KunMao Chao a,b,∗