GithubHelp home page GithubHelp logo

jeremy-gleason / cit-594-plus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mcitcentral/cit-594-plus

0.0 0.0 0.0 2.05 MB

A resource for students to accompany CIT-594 (Data Structures & Software Design)

Java 100.00%

cit-594-plus's Introduction

CIT-594 Plus

This is a community-repository created by and for the students of the UPenn MCIT Program. In the first half of CIT-594, we cover a number of data structures and our assignments cover some applications of each data structure and some problems that you may encounter when using these data structures.

However, as students, we know there's a lot more we still need to learn. So this is CIT-594 Plus, where we've prepared a number of leetcode questions of increasing difficulty to accompany each data structure, and to prepare you for more of the patterns that you may encounter in technical intereviews.

We encourage future students of CIT-594 to tackle these bonus problems each week as they're studying the data structure to increase the depth of their knowledge on the use and application of these data structures.

Module Data Structure # Questions
1 Arrays / ArrayLists 20
2 LinkedLists 18
2 Stacks & Queues 12
4 HashSets & HashMaps 6
5 Binary Search Trees 18
6 Balanced Binary Trees 3
7 Heaps 6
7 Tries 6
8 Graphs 12
Total 101

How to use this repository

Please fork your own version of this repository.

Each folder has a README file that will provide a recommended order for the different data structures. Please follow the recommended order as you tackle each problem as they serve to reinforce your learning.

When you tackle each problem:

  1. Copy and paste the base .java file into the solutions folder and number it; rename the class and update the package declaration
package [DataStructure].Solutions;
  1. Implement your solution and run the basic tests provided. Go to the corresponding leetcode link and run it through their tests. (We also encourage students to contribute new tests to the base file as they encounter or think about more edge cases!)

  2. Once both sets of tests pass, sign your solution in the solution notes section, and add some comments on your implementation.

  3. Review implementations that other students have done. (Please don't change your solution after this though.)

  4. Make a pull request to the original repository using the 'Solution' tag! (Please try your best to avoid committing configuration files and add to the .gitignore as necessary.)

Further Contributions

We welcome other contributions beyond your solutions.

Perhaps you believe there's a really important problem that students need to have experience with that you believe needs to be added to this repository and prioritized more above other questions. Please make a pull request with the 'New Question' tag.

Perhaps you want to contribute to documentation. We want to build a wiki describing in detail the different data structures patterns that students can use as a resource in the future. (Writing about these topics helps cement your learning as well!). Please make a pull request with the 'Documentation' tag.

cit-594-plus's People

Contributors

jeremy-gleason avatar wilsonplau avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.