data-structures-and-algorithms---concepts-problems

https://github.com/vmv09/data-structures-and-algorithms---concepts-problems

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: VMV09
  • Language: Python
  • Default Branch: main
  • Size: 123 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 7 months ago
Metadata Files
Readme Citation

README.md

Data Structures and Algorithm in Python - Concepts & Problems

Data Structures and Algorithms has been a core and recognized as a vital subject in computing and for computer engineering undergraduates. This Github Reposiroty has been desinged to cater to beginning friendly and slowly metamorphises and cater to advanced levels.

Rather than simply viweing data as a collection of bytes and addresses, we think of data objects as instances of an abstract data types, which includes a repertoire of methods for performing operations on data objects of this type.


## Goals, Principles and Patterns: - As the goals of OOPs implies, an Object is an instance of a Class. - Each class typically specifies instances variables, also known as data members, that the object contains, as well as the methods, also known as member functions. - Object Oriented Design Goals - Robustness - Adaptability - Resuability - Object Oriented Design Principles: - Modularity - Abstraction - Encapsulation - Polymorphsim - Design Patterns - The Algorithmic Design Pattern: - Recursion - Amortization - Divide and Conquer - Prune and Search - Decrease and Conquer - Brute Force - Dynamic Programming - The Greedy Method - Software Engineering Design Patterns: - Iterator - Adapter - Position - Composition - Template Method - Locator - Factory Method


Algorithms

  • By looking at how others approach a given problem, and at their solution, we can learn solving them on our own.
  • By seeing how different approach and techniques (ALGORITHMS) are designed helps us to take on the next challenging problem that we are given.
  • By considering a number of different algorithms, we can begin to develop pattern recognition so that the next time a similar problem arises, we are better able to solve it.
  • Algorithms solving the same problem looks at the problem in various perspectives and considers various different approaches.
  • At such times when we have multiple different algorithms solving the same problem, we simply by instinct prefer to choose the one that is better than the other.
  • One algorithm, say to computer a square root of a number might take 10 times as long as another to return the result.
  • Even though both of them works and returns a desired result, the hardware resources taken by one is obvisously better than the other.
  • We say that one is more efficient or that one simply works faster and uses less memory.
  • As we proceed to study algorithms, we can learn analysis techniques, compare and differentiate between algorithms soley by considering the algorithm's inherent characteristics and not on the properties and efficiency of the computer or machone that it is deployed as.
  • In these cases, the computer or the machine is considered to run any and all algorithms and there is no inherent disabilities and inefficiencies related with the computer.
  • In the worst case scenario, we may have a problem that is intractable, meaning that there is no algorithm that can solve the problem in a realistic amount of time.
  • It is important to be able to distinguish between those problems that have solutions, those that do not, and those where solutions exist but require too much time or other resources to work reasonably.

Owner

  • Login: VMV09
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this book for your work, please cite it as below."
authors:
  - family-names: Goodrich
    given-names: Michael T.
  - family-names: Tamassia
    given-names: Roberto
  - family-names: Goldwasser
    given-names: Michael H.
title: "Data Structures and Algorithms in Python"
version: "1st Edition"
date-released: 2013-03-18
publisher: Wiley
isbn: "978-1-118-29027-9"
url: "https://nibmehub.com/opac-service/pdf/read/Data%20Structures%20and%20Algorithms%20in%20Python.pdf"
type: book

GitHub Events

Total
  • Public event: 1
  • Push event: 24
Last Year
  • Public event: 1
  • Push event: 24