336 Using Sets Bill Evans John Doe Bo Biggs Mary Jacobs John Doe Figure 2-4: The difference command strips out data in common with a second set. Bill Evans Mary Jacobs Now if you wanted to combine only the different data stored in both sets, you could use the difference command to store this data in a third set, as follows: newset = clubmembers.difference(politicians) This creates a third set — newset — which contains the names Bill Evans and Mary Jacobs. The third set does not contain the name Bo Biggs. That’s because the order in which you list the sets determines how the difference command works. If you list the sets in this order: newset = clubmembers.difference(politicians) You’re telling the computer to take all the data from the first set (clubmembers), find all the data common in both the clubmembers and politicians sets, and remove that common data from the first set. Now take what’s left and dump this data into the newest set (see Figure 2-4). If you switched the commands around like this, you’d get an entirely different result: newset = politicians.difference(clubmembers)
Using Linked Lists 337 This tells the computer to take the data stored in the politicians set, find all the data common in both the politicians and clubmembers sets, and remove this common data from the politicians set. Now store what’s left in the newest set, as shown in Figure 2-5. Bo Biggs Bill Evans John Doe John Doe Mary Jacobs Figure 2-5: The order you list set names with the difference command determines which data gets stored in the third set. Bo Biggs Book III Chapter 2 Using Linked Lists Sets are handy for lumping related data in a group. However, sets aren’t organized. So if you want to group related data together and keep this data sorted, you can use another data structure — a linked list. Sets and Linked Lists Whereas an array creates a fixed location for storing data (think of an egg carton), a linked list more closely resembles beads tied together by a string. It’s impossible to rearrange an array (just as you can’t rip an egg carton apart and put it back together again in a different way). However, you can rearrange a linked list easily just as you can rearrange beads on a string. The basic element of a linked list is a node, which is just a structure (see Book 3, Chapter 1) that contains two parts: ✦ A pointer ✦ A variable for storing data
Beginning Programming ALL-IN-ONE DE
Beginning Programming ALL-IN-ONE DE
About the Author I started off as a
Acknowledgments This is the part of
Contents at a Glance Introduction .
Table of Contents Introduction.....
Table of Contents xi Finding an Int
Table of Contents xiii Playing with
Table of Contents xv Using Structur
Table of Contents xvii Searching wi
Table of Contents xix Book VI: Prog
Table of Contents xxi Declaring Con
Introduction If you enjoy using a c
How to Use This Book 3 means they
Book I Getting Started
Chapter 1: Getting Started Programm
How Computer Programming Works 9 De
The History of Computer Programming
The History of Computer Programming
The History of Computer Programming
Figuring Out Programming 17 As a ge
Figuring Out Programming 19 ✦ Lin
Figuring Out Programming 21 Convert
Figuring Out Programming 23 certain
Getting Started with Programming 25
Knowing Programming versus Knowing
Chapter 2: Different Methods for Wr
Spaghetti Programming without a Pla
Planning Ahead with Structured Prog
Planning Ahead with Structured Prog
Planning Ahead with Structured Prog
Making User Interfaces with Event-D
Making User Interfaces with Event-D
Organizing a Program with Object-Or
Organizing a Program with Object-Or
Organizing a Program with Object-Or
Chapter 3: Types of Programming Lan
Choosing Your First Language 51 ext
Teaching Languages 53 Principles Be
Teaching Languages 55 The Interacti
Teaching Languages 57 near future.
Teaching Languages 59 The main disa
Teaching Languages 61 Book I Chapte
“Curly Bracket” Languages 63
“Curly Bracket” Languages 65 Th
“Curly Bracket” Languages 67 C#
“Curly Bracket” Languages 69 Vi
Artificial Intelligence Languages 7
Scripting Languages 73 2. From the
Scripting Languages 75 In compariso
Scripting Languages 77 Transferring
Database Programming Languages 79 @
Comparing Programming Languages 81
Chapter 4: Programming Tools In Thi
Choosing a Compiler 85 3. Choose a
Choosing a Compiler 87 than other c
Choosing a Compiler 89 With a cross
Finding an Interpreter 91 In the ol
Compiling to a Virtual Machine 93 C
Writing a Program with an Editor 95
Fixing a Program with a Debugger 97
Fixing a Program with a Debugger 99
Fixing a Program with a Debugger 10
Creating a Help File 103 Obviously,
Dissecting Programs with a Disassem
Chapter 5: Managing Large Projects
Software Engineering Methods 109 Fi
Software Engineering Methods 111 de
Software Engineering Methods 113 Ad
Automating Software Engineering wit
Automating Software Engineering wit
Automating Software Engineering wit
Automating Software Engineering wit
The Pros and Cons of Software Engin
Book II Programming Basics
Chapter 1: How Programs Work In Thi
Using Keywords as Building Blocks 1
Organizing a Program 131 So if your
Dividing a Program into Subprograms
Dividing a Program into Objects 135
Dividing a Program into Objects 137
Creating a User Interface 139 The u
Chapter 2: Variables, Data Types, a
Declaring Variables 143 This BASIC
Declaring Variables 145 You can alw
Declaring Variables 147 Every progr
Using Different Data Types 149 type
Retrieving Data from a Variable 151
Using Constant Values 153 Using Con
Defining the Scope of a Variable 15
Defining the Scope of a Variable 15
Defining the Scope of a Variable 15
Chapter 3: Manipulating Data In Thi
Using Math to Manipulate Numbers 16
Using Math to Manipulate Numbers 16
Manipulating Strings 167 Most progr
Finding Strings with Regular Expres
Finding Strings with Regular Expres
Using Comparison Operators 173 Comp
Using Boolean Operators 175 Most pr
Using Boolean Operators 177 So if t
Converting Data Types 179 Both type
Chapter 4: Making Decisions by Bran
Picking One Choice with the IF-THEN
Picking Three or More Choices with
Picking Three or More Choices with
Playing with Multiple Boolean Opera
Making Multiple Choices with the SE
Making Multiple Choices with the SE
Making Multiple Choices with the SE
Making Multiple Choices with the SE
Chapter 5: Repeating Commands by Lo
Looping a Fixed Number of Times wit
Looping a Fixed Number of Times wit
Looping a Fixed Number of Times wit
Looping Zero or More Times with the
Playing with Nested Loops 209 This
Checking Your Loops 211 Outer loop
Chapter 6: Breaking a Large Program
Creating and Using Subprograms 215
Creating and Using Subprograms 217
Passing Parameters 219 The #include
Passing Parameters 221 Figure 6-5:
Passing Parameters 223 When you pas
Passing Parameters 225 DIM Temp AS
Repeating a Subprogram with Recursi
Repeating a Subprogram with Recursi
Chapter 7: Breaking a Large Program
How Object-Oriented Programming Wor
Encapsulation Isolates Data and Sub
Encapsulation Isolates Data and Sub
Sharing Code with Inheritance 239 S
Sharing Code with Inheritance 241 F
Design Patterns 243 However, when y
Design Patterns 245 The flyweight p
Object-Oriented Languages 247 Becau
Real-Life Programming Examples 249
Real-Life Programming Examples 251
Real-Life Programming Examples 253
Real-Life Programming Examples 255
Real-Life Programming Examples 257
Chapter 8: Reading and Saving Files
Storing Data in Text Files 261 A co
Storing Data in Text Files 263 Read
Storing Fixed Size Data in Random-A
Storing Fixed Size Data in Random-A
Storing Varying Size Data in Untype
Using Database Files 271 Figure 8-5
Using Database Files 273 Think of a
Using Database Files 275 When using
Chapter 9: Documenting Your Program
Adding Comments to Source Code 279
Adding Comments to Source Code 281
Adding Comments to Source Code 283
Taking Action on Trees 387 10 8 12
Taking Action on Trees 389 10 8 12
Book IV Algorithms
Chapter 1: Sorting Algorithms In Th
Using Bubble Sort 395 32 9 74 21 Or
Using Insertion Sort 397 32 9 74 21
Using Shell Sort 399 32 9 74 21 50
Using Heap Sort 401 Heap sort dumps
Using Merge Sort 403 94 46 74 21 32
Using Quick Sort 405 Using Quick So
Comparing Sorting Algorithms 407 If
Chapter 2: Searching Algorithms In
Sequential Search 411 Backward or f
Sequential Search 413 Binary search
Sequential Search 415 Fibonacci num
Using Indexes 417 102 John Smith 55
Adversarial Search 419 The more lev
Adversarial Search 421 So if the co
Chapter 3: String Searching In This
Sequential Text Search 425 In this
Sequential Text Search 427 The Shif
Searching with Regular Expressions
Searching Phonetically 431 Both sym
Searching Phonetically 433 If you h
Chapter 4: Data Compression Algorit
Lossless Data Compression Algorithm
Lossless Data Compression Algorithm
Lossless Data Compression Algorithm
Lossy Data Compression 443 Basicall
Chapter 5: Encryption Algorithms In
The Basics of Encryption 447 in a m
The Basics of Encryption 449 Stream
The Basics of Encryption 451 Electr
Symmetric/Asymmetric Encryption Alg
Cracking Encryption 455 Sender’s
Cracking Encryption 457 Instead of
Cracking Encryption 459 Code cracki
Book V Web Programming
Chapter 1: HyperText Markup Languag
The Structure of an HTML Document 4
The Structure of an HTML Document 4
Defining the Background 469 Adding
Making Tables 471 The anchor point
Making Tables 473 Book V Chapter 1
Making Tables 475 Column 1 Column
Chapter 2: CSS In This Chapter Und
Creating Style Classes 479 color :
Separating Styles in Files 481 Sepa
Cascading Stylesheets 483 If you ha
Chapter 3: JavaScript In This Chapt
Declaring Variables 487 need to def
Using Operators 489 The relational
Branching Statements 491 To make th
Using Arrays 493 A variation of the
Designing User Interfaces 495 A con
Chapter 4: PHP In This Chapter Und
Declaring Variables 499 Declaring V
Using Operators 501 Table 4-3 Logic
Branching Statements 503 Command; }
Creating Functions 505 If you don
Creating Objects 507 Creating Objec
Chapter 5: Ruby In This Chapter Un
Using Operators 511 # long time to
Using Operators 513 Table 5-3 Logic
Looping Statements 515 Command else
Using Data Structures 517 Using Dat
Creating Objects 519 To tell an obj
Book VI Programming Language Syntax
Chapter 1: C and C++ In This Chapte
Declaring Variables 525 Despite min
Declaring Variables 527 All integer
Using Operators 529 Relational oper
Branching Statements 531 Table 1-6
Looping Statements 533 switch (expr
Data Structures 535 If a function d
Using Objects 537 Now you can decla
Using Objects 539 To inherit from m
Chapter 2: Java and C# In This Chap
Declaring Variables 543 The double
Using Operators 545 Declaring float
Using Operators 547 The increment o
Branching Statements 549 if (condit
Looping Statements 551 Because no b
Data Structures 553 If the function
Data Structures 555 You can create
Using Objects 557 So if you created
Chapter 3: Perl and Python In This
Using Operators 561 You can write b
Using Operators 563 The relational
Branching Statements 565 Table 3-5
Looping Statements 567 In Python, t
Perl Data Structures 569 A typical
Python Data Structures 571 Creating
Using Objects 573 After you define
Chapter 4: Pascal and Delphi In Thi
Declaring Variables 577 Creating Co
Declaring Constants 579 Declaring d
Branching Statements 581 Table 4-5
Looping Statements 583 Looping Stat
Data Structures 585 FUNCTION Functi
Creating Objects 587 clear a dynami
Chapter 5: Visual Basic and REALbas
The Structure of a BASIC Program 59
Declaring Variables 593 Declaring i
Declaring Constants 595 Declaring B
Branching Statements 597 Table 5-7
Branching Statements 599 The preced
Creating Subprograms and Functions
Data Structures 603 Data Structures
Creating Objects 605 Creating Objec
Book VII Applications
Chapter 1: Database Management In T
The Basics of Databases 611 To retr
The Basics of Databases 613 Althoug
The Basics of Databases 615 Employe
Manipulating Data 617 Tables divide
Manipulating Data 619 The Join comm
Manipulating Data 621 SET PhoneNumb
Database Programming 623 Figure 1-1
Chapter 2: Bioinformatics In This C
The Basics of Bioinformatics 627 Un
Searching Databases 629 ✦ Swiss-P
Bioinformatics Programming 631 Alth
Chapter 3: Computer Security In Thi
Stopping Malware 635 Worms Similar
Stopping Hackers 637 Stopping Hacke
Secure Computing 639 Forensics If y
Secure Computing 641 start. The ide
Chapter 4: Artificial Intelligence
Problem Solving 645 Game-playing Be
Problem Solving 647 Expert System K
Problem Solving 649 Humans can unde
Problem Solving 651 Such speech rec
Machine Learning 653 With LISP, eve
Machine Learning 655 Robotics and a
`Chapter 5: The Future of Computer
Picking an Operating System 659 opt
Cross-Platform Programming 661 Unfo
Cross-Platform Programming 663 The
Cross-Platform Programming 665 Anot
The Programming Language of the Fut
The Programming Language of the Fut
Index Numerics 0 (zero) initializin
Index 673 blocks of commands in cur
Index 675 dictionaries versus, 352
Index 677 database management conne
Index 679 enumerated variables (C/C
Index 681 hybrid OOP languages, 246
Index 683 knowledge base, 646, 647
Index 685 modeling, 44-45 Modula-2
Index 687 advantages and disadvanta
Index 689 looping statements, 600-6
Index 691 extreme programming metho
Index 693 source code as, 264 tab-d
Index 695 as event-driven programmi
BUSINESS, CAREERS & PERSONAL FINANC