Questions tagged [data-structure]

This tag is for questions related to both data abstraction/encapsulation in general and for the usage of the various data structures provided by language or built by programmers. Stack and Queue are classic examples.

Filter by
Sorted by
Tagged with
21
votes
18answers
7k views

What are some good examples of using a stack data structure?

I'm looking for examples to give my students when lecturing about stacks, for use-cases of the stack in programming and life. So far I've been thinking of a pole of rings (when you can insert or ...
21
votes
12answers
5k views

What are the advantages/disadvantages of teaching how to implement Nodes, Linked Lists, Stacks, and Queues before showing built-in implementations?

I'd like to introduce my students to Nodes and then require them to implement their own Linked Lists, Queues, and Stacks before showing them that their language (C#) provides implementations of these ...
12
votes
4answers
372 views

How to teach students to work with multiple layers of abstraction?

I'm currently preparing to teach a course on data structures and algorithms. In my past experiences helping teach similar courses, I've noticed that many students find it challenging to "hold multiple ...
7
votes
9answers
216 views

What are some good problems which can be solved with a queue?

I am trying to introduce the idea of stacks and queues in a course on data structures. For stacks, my idea was to show some interesting examples of problems, like evaluating an expression in RPN, or ...
6
votes
2answers
437 views

First project in my second year data structures intro

I am currently teaching the pretty much normal second year Data Structures and Algorithms course. In this course there are four programming projects, with the first project completed the automated ...
4
votes
3answers
89 views

Introducing self containing objects (Node)

In some programming languages, many data structures use Node<T> (The examples in the question are in Java, but I suppose they are similar in other languages): ...
4
votes
2answers
119 views

Is there any pedagogically motivated reason to teach quadratic probing?

I'm currently preparing a unit on the implementation of hash tables for a data structures and algorithms course (this is a university-level class, if it matters). Specifically, I'm focusing on ...
4
votes
1answer
101 views

Example for Introduction to Generics in Java

What are some good example classes for introducing generics in Java? I'm introducing this in the context of implementing ArrayList, but I don't want my first ...
4
votes
1answer
95 views

How to learn to solve trees, graphs questions for competitive programming

I learnt about trees and graphs from my textbooks (undergraduate level) last year. But now I'm doing competitive programming and unable to solve questions involving these concepts. I fail to ...
3
votes
2answers
112 views

How should one go into learning algorithms and data structures? What do you think is an efficient way to do so?

Should one first understand its logic and see its implementation? Or should one try to implement it first oneself? How should one learn so that one can quickly implement the algorithm or data ...
3
votes
3answers
172 views

How to keep students heads from exploding from complex, interconnected topics

My students will soon be learning ADO.Net in C#, adding on to the Windows programming skills that they recently gained. Just a few pages from one chapter in the textbook introduce the set of layers ...
3
votes
2answers
287 views

Abstract data type that has “include” “remove” and “is in” and only those

In a data structures course, we see trees, balanced trees, hash tables. These have an important thing in common: we can use them to keep a collection of elements (with operations add and remove) and ...
3
votes
2answers
127 views

Project based on game 2048

I'm thinking about an assignment based around the game 2048. This would be towards the end of a first programming course at the university level and assumes the students have been introduced to at ...
2
votes
3answers
114 views

What are competitive programming problems that require a tree data structure to solve them?

I want to practice my problem-solving skills that involve the usage of a tree data structure (e.g. Binary Search Tree, Heap, <...
2
votes
1answer
82 views

How to structure a Predictive Keyboard project similar to GBoard

Many are now familiar with GBoard, the Google / Android predictive Keyboard. I don't actually know how it works. Obviously it must gather usage data on the device where it is being used, but it ...
1
vote
2answers
71 views

Understanding Introduction to Algorithms, 3rd Edition

I'm taking a course on data structures and algorithms and it follows the book Introduction to Algorithms, 3rd Edition (ISBN-10: 9780262033848) by Charles E. Leiserson, Clifford Stein, Ronald Rivest, ...