SlideServe
Menu
Préférences
© SlideServe · v2026

Essential Principles of Data Structures

colvins avatar
8 diapositives · 128 Views · Jan 04, 2020

Explore key concepts like data abstraction, modularity, and algorithmic complexity in computer programs. Learn about standard tools, problem-solving techniques, and the importance of abstraction and modularity in crafting complex programs. Discover how layers of abstraction and standard programming tools like data structures, stacks, queues, lists, trees, and graphs contribute to efficient programming.

Essential Principles of Data Structures - slide 1
01 / 8Essential Principles of Data Structures
1 / 17

Télécharger la présentation

Essential Principles of Data Structures
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Data StructuresCSCI 132, Fall 2018Lecture 1Big Ideas in Data StructuresCourse website: http://mathcs.holycross.edu/~csci132

  2. Crafting a Program Four main ideas used in creating complex computer programs: • Data Abstraction • Modularity • Algorithmic complexity • Standard Tools

  3. Recall Problem Solving One of the most important problem solving techniques is: Divide Conquer & Glue

  4. Dealing with Abstraction • Abstraction • Allows you to capture common patterns in things and ignore inessential details. • Black Box Abstraction • Allows us to use things without knowing how they work. For example, a telephone. • Data Hiding • Allows use of a program component without knowing the specifics of how it is implemented.

  5. Layers of Abstraction • We can build up layers of abstraction to create complexity. • Without layers of abstraction we could not understand the most complex programs • (e.g. Microsoft Word ~ 1,000,000 lines of code).

  6. Modularity • The best programs are modular. • The pieces can fit together and be used in many different ways. • Lego building blocks are a classic example of modularity.

  7. Algorithmic Complexity • Not all computer programs are equal. • The efficiency of programs can be measured as: • 1. The amount of time the program takes to run. • 2. The amount of memory space used.

  8. Standard Programming Tools • Data Structures • Stacks • Queues • Lists • Tables • Trees • Graphs • Algorithms • Searching • Sorting • Tree Traversal • Graph Algorithms