1/14
Flashcards about data structures and algorithms.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is a data structure?
A way of storing data in a computer so that it can be used efficiently.
What does advance knowledge about the relationship between data items allow?
Designing efficient algorithms for the manipulation of data.
What does a well-designed data structure allow?
Allows a variety of critical operations to be performed using as little resources, both execution time and memory space, as possible.
Give two examples of how data structures are suited to specific applications.
B-trees are well-suited for databases, while compiler implementations usually use hash tables.
Why are data structures important in computer science?
To manage huge amounts of data efficiently, such as large databases and internet indexing services.
According to Niklaus Emil Wirth, what equation defines programs?
Algorithms + Data Structures = Programs
What are some basic types of data structures?
Files, lists, arrays, records, trees, and tables.
What is an algorithm?
A formula or set of steps for solving a particular problem.
From whose name does the word 'algorithm' derive?
The mathematician Abu Ja'far Mohammed ibn-Musa al-Khwarizmi.
What are the key properties of an algorithm?
Input, output, finiteness, definiteness, effectiveness, and generality.
What are the disadvantages of using natural languages to represent algorithms?
Too verbose and context-sensitive.
What are the disadvantages of using formal programming languages to represent algorithms?
Too low level and requires dealing with complicated syntax.
What is pseudo-code?
Natural language constructs modeled to look like statements available in many programming languages.
What is a flowchart?
Represents an algorithm or process, showing the steps as boxes connected with arrows.
What are some methods of a Collection Abstract Data Type (ADT)?
Constructor/Destructor, Add/Edit/Delete, Find, Sort.