Giter Site home page Giter Site logo

core-data-structures's People

Contributors

aespaldi avatar avery246813579 avatar dalnk avatar ibirnam avatar neptunius avatar olyve avatar t0ri avatar

Watchers

 avatar

core-data-structures's Issues

Cherish Kim's Code Review

Code Review Row Topics: Readability & Formatting, Organization & Modularity, Effectiveness of Solution, Testing & Error Handling.

๐Ÿค“ Readability & Formatting

  • Very readable. Well-formatted, consistent spacing and casing, good variable names too!
  • I see explanatory comments everywhere.
  • Short, terse lines = A+
  • Overall: Mastery

๐Ÿ“‹ Organization & Modularity

  • Your functions are all clearly separated with designated purposes, along with docstrings for added clarity.
  • From what I can tell, you avoid side effects with catch statements and edge cases. Lines 96-97 (else: raise KeyError('Key not found: {}'.format(key))) and lines 145-148 (if new_size is None & elif new_size is 0) represent this very well.
  • Overall: Mastery

๐Ÿงช Effectiveness of Solution

  • Solves all typical input cases and all known edge cases (to my knowledge)
  • Overall: Mastery

๐Ÿคฏ Testing & Error Handling

  • You have so many tests!
  • They are quite comprehensive and address tons of different possible inputs the user could possibly throw at you.
  • Overall: Mastery

Assessed with this rubric.

Feedback on Submission #1

Good work on this assignment. Your base conversion algorithms looked pretty good. You had good edge case handling in your encode function.

A few suggestions:

  • Both encode and decode could have used more comments to help make them more readable.

  • Also, you might consider moving your old code out into another file instead of having large chunks of commented out code in the middle of this file.

Your binary search algorithms look good. I liked that you used pseudocode to write the functions. I would suggest transforming that pseudocode into comments throughout your function.

Feedback on Hash Tables

Good work on this, Tori! Your code is passing all tests.

This is not required, but you might consider going back through this class and adding time/space complexity annotations for the remaining methods. Not only will this be a good review, but it will also help deepen your knowledge of how hash tables work.

I'm glad you caught the underscore thing with unused iterating variables. It makes your code look really good.

If you want, your length method could be refactored to just return self.size and drastically improve its runtime.

Feedback on Sets

Good work on this assignment. Your tests are well written and the comments were helpful. I would have liked to see more data types tests (e.g. NoneTypes, floats, etc).

Good job for doing two different types of sets. I'm sure you learned a lot by doing that!

Feedback on Palindromes and String Searching Algorithms

Your palindromes functions are passing all tests, but they could be improved. I like the idea of using helper functions break up the different bits of logic. But you are increasing the time and space complexity of your functions by altering the entire string up front. A better approach would be to iterate over the text and skip non-letter characters as you go.

Your time complexities for find_index and find_all_indexes make sense, but they are not quite right. I believe that your space complexity analysis for find_all_indexes is correct, but the others don't seem right. Good work adding additional tests.

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.