
Nodes I'm Proud of 

The Drama of being a developer 
The Drama of being a developer II 
The Drama of being a developer III 
The Drama of being a developer IV 
Developer Accountability 
Crypto Discussion 
Crypto Discusion II 
My Jet Direct Printer control code 
My (Humor) The IT Secret Service 
My First Tutorial 
Misc 

My 'Blog 
My Use.Perl.org Journal 
God Bless the Onion 
Wanna learn more about Improv? 
Dictionary of Algorithms, Data Structures, and Problems 
Angst Technology Comic Strip 
Sinfest Comic Strip 
Fuzzy Logic Comic Strip 
HTML Converters 
Book List 

Code Complete by Steven McConnell 
As a general response to some sorting questions recently, here's the time reference table for various sorts:
Sort  Worst Case  Average Case 

Selection Sort  N^{2}  N^{2} 
Bubble Sort  N^{2}  N^{2} 
Insertion Sort  N^{2}  N^{2} 
Mergesort  N*Log_{2}N  N*Log_{2}N 
Quicksort  N^{2}  N*Log_{2}N 
Radix Sort  N  N 
Tree Sort  N^{2}  N*Log_{2}N 
Heap Sort  N*Log_{2}N  N*Log_{2}N 
#!/usr/bin/perl sub radix_sort { my $array = shift; my $from = $array; my $to; # All lengths expected equal. for ( my $i = length $array>[ 0 ]  1; $i >= 0; $i ) { # A new sorting bin. $to = [ ]; foreach my $card ( @$from ) { # Stability is essential, so we use push(). push @{ $to>[ ord( substr $card, $i ) ] }, $card; } # Concatenate the bins. $from = [ map { @{ $_  [ ] } } @$to ]; } # Now copy the elements back into the original array. @$array = @$from; } @array = qw(flow loop pool Wolf root sort tour); radix_sort(\@array); print "@array\n";
my XP Change Chartsub commify { local $_ = shift; $_= sprintf("%.2f",$_); 1 while s/^([+]?\d+)(\d{3})/$1,$2/; return $_; }