This tutorial introduces Python data structures such as Lists, Sets, Tuples, Strings, and dictionaries. It draws connections to data structures in Java. Attendees will learn how Python data structures differ from and overlap with similar data structures ...
We introduce the concept of fusible data structures to maintain fault-tolerant data in distributed programs. Given a fusible data structure, it is possible to combine a set of such structures into a single fused structure, that is smaller than the ...
Recursive solutions to problems are important in teaching computing concepts, particularly in data structures. We can trace linked lists to LISP where their definition is recursive in nature. As we continued to teach these concepts, implementation of such structures gave way to the idea of a node as the simplest part of a linked list. This implementation influenced the way we teach linked lists and we have normally split that into the LinkedList class and the Node class which is typically private. The first solutions the students provide to any processing of the list are typically iterative and not recursive. Even though the definition of a linked list is recursive the solutions we find are not. We present an implementation of a linked list that comes directly from the recursive definition and directs the students to recursive solutions instead of iterative ones. We also present the definition of a binary tree and follow the same principles to help the students think recursively. This approach is language-independent although the code presented is in C#.
For many years there has been substantial agreement that the content of the CS2 course should be a study of the classic data structures including, but not limited to, stacks, queues, trees, and tables. In recent years we have observed a move to the ...
aa06259810