Recursion:%20Simple%20Example(s) - PowerPoint PPT Presentation

About This Presentation
Title:

Recursion:%20Simple%20Example(s)

Description:

int col, i, good; if( row == 8 ) print_board( board ); return; for( col = 0; col 8; col ... board[row] = col; place_queen( board, row 1 ); Recursion: Mergesort ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 6
Provided by: hub2
Category:

less

Transcript and Presenter's Notes

Title: Recursion:%20Simple%20Example(s)


1
Recursion Simple Example(s)
int sum( int n ) / These examples from
Kelley/Pohl / if( n lt 1 ) return n
else return( n sum( n 1 ))
int factorial( int n ) / Whoopsie-daisies /
return( n factorial( n 1 ))
int factorial( int n ) if( n lt 1 )
return n else return( n factorial( n 1
))
2
Recursion Examples w/ Strings(from Kelley/Pohl)
int r_strlen( char s ) if( s 0 )
return 0 else return( 1 r_strlen( s 1
))
/ r_strncmp considers only the first n
characters / int r_strncmp( char s1, char s2,
int n ) if(( s1 ! s2 ) ( s1 0 )
( n 1 )) return( s1 - s2 ) else
return( r_strncmp( s1 1, s2 1, n 1 ))
3
Recursion 8 Queens
void place_queen( int board8, int row ) int
col, i, good if( row 8 )
print_board( board ) return for(
col 0 col lt 8 col ) / check to
see if boardrow col OK / good 1
for( i 0 i lt row i )
if( ( col boardi ) ( abs(
row - i ) abs( col - boardi )))
good 0 if( good )
boardrow col place_queen(
board, row 1 )
4
Recursion Mergesort
void mergesort( int a, int index, int len )
int half if( len lt 1 ) return else
half len / 2 mergesort( a,
index, half ) mergesort( a, index half,
len - half ) merge( a, index, half, index
half, len - half )
5
Recursion Mergesort (Merge)
void merge( int a, int index1, int len1, int
index2, int len2 ) int bMAX_SIZE, b_index
0, a_index index1 int i, total len1
len2 for( i 0 i lt total i )
if(( len1 gt 0 len2 gt 0 aindex1 lt
aindex2 ) ( len1 gt 0 len2 0
)) bb_index aindex1
b_index index1
len1-- else
bb_index aindex2 b_index
index2 len2--
for( i 0 i lt total i )
aa_index i bi
Write a Comment
User Comments (0)
About PowerShow.com