Found 374 repositories(showing 30)
Algo-Phantoms
Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. It contains solutions in various languages such as C++, Python and Java.
tiationg-kho
LeetCode Pattern 500 offers 500 solutions for LeetCode problems in Python and Java, 17 notes on essential concepts related to data structures and algorithms, and 130 patterns for solving LeetCode problems.
[My Solutions] Data Structures and Algorithms in Python (Michael T. Goodrich)
FarheenB
Solution to 500+ popular data structure and algorithm problems in Java, C++ and Python programming languages.
bookworm52
Welcome to my comprehensive course on python programming and ethical hacking. The course assumes you have NO prior knowledge in any of these topics, and by the end of it you'll be at a high intermediate level being able to combine both of these skills to write python programs to hack into computer systems exactly the same way that black hat hackers do. That's not all, you'll also be able to use the programming skills you learn to write any program even if it has nothing to do with hacking. This course is highly practical but it won't neglect the theory, we'll start with basics of ethical hacking and python programming and installing the needed software. Then we'll dive and start programming straight away. You'll learn everything by example, by writing useful hacking programs, no boring dry programming lectures. The course is divided into a number of sections, each aims to achieve a specific goal, the goal is usually to hack into a certain system! We'll start by learning how this system work and its weaknesses, then you'll lean how to write a python program to exploit these weaknesses and hack the system. As we write the program I will teach you python programming from scratch covering one topic at a time. By the end of the course you're going to have a number of ethical hacking programs written by yourself (see below) from backdoors, keyloggers, credential harvesters, network hacking tools, website hacking tools and the list goes on. You'll also have a deep understanding on how computer systems work, how to model problems, design an algorithm to solve problems and implement the solution using python. As mentioned in this course you will learn both ethical hacking and programming at the same time, here are some of the topics that will be covered in the course: Programming topics: Writing programs for python 2 and 3. Using modules and libraries. Variables, types ...etc. Handling user input. Reading and writing files. Functions. Loops. Data structures. Regex. Desiccation making. Recursion. Threading. Object oriented programming. Packet manipulation using scapy. Netfilterqueue. Socket programming. String manipulation. Exceptions. Serialisation. Compiling programs to binary executables. Sending & receiving HTTP requests. Parsing HTML. + more! Hacking topics: Basics of network hacking / penetration testing. Changing MAC address & bypassing filtering. Network mapping. ARP Spoofing - redirect the flow of packets in a network. DNS Spoofing - redirect requests from one website to another. Spying on any client connected to the network - see usernames, passwords, visited urls ....etc. Inject code in pages loaded by any computer connected to the same network. Replace files on the fly as they get downloaded by any computer on the same network. Detect ARP spoofing attacks. Bypass HTTPS. Create malware for Windows, OS X and Linux. Create trojans for Windows, OS X and Linux. Hack Windows, OS X and Linux using custom backdoor. Bypass Anti-Virus programs. Use fake login prompt to steal credentials. Display fake updates. Use own keylogger to spy on everything typed on a Windows & Linux. Learn the basics of website hacking / penetration testing. Discover subdomains. Discover hidden files and directories in a website. Run wordlist attacks to guess login information. Discover and exploit XSS vulnerabilities. Discover weaknesses in websites using own vulnerability scanner. Programs you'll build in this course: You'll learn all the above by implementing the following hacking programs mac_changer - changes MAC Address to anything we want. network_scanner - scans network and discovers the IP and MAC address of all connected clients. arp_spoofer - runs an arp spoofing attack to redirect the flow of packets in the network allowing us to intercept data. packet_sniffer - filters intercepted data and shows usernames, passwords, visited links ....etc dns_spoofer - redirects DNS requests, eg: redirects requests to from one domain to another. file_interceptor - replaces intercepted files with any file we want. code_injector - injects code in intercepted HTML pages. arpspoof_detector - detects ARP spoofing attacks. execute_command payload - executes a system command on the computer it gets executed on. execute_and_report payload - executes a system command and reports result via email. download_and_execute payload - downloads a file and executes it on target system. download_execute_and_report payload - downloads a file, executes it, and reports result by email. reverse_backdoor - gives remote control over the system it gets executed on, allows us to Access file system. Execute system commands. Download & upload files keylogger - records key-strikes and sends them to us by email. crawler - discovers hidden paths on a target website. discover_subdomains - discovers subdomains on target website. spider - maps the whole target website and discovers all files, directories and links. guess_login - runs a wordlist attack to guess login information. vulnerability_scanner - scans a target website for weaknesses and produces a report with all findings. As you build the above you'll learn: Setting up a penetration testing lab to practice hacking safely. Installing Kali Linux and Windows as virtual machines inside ANY operating system. Linux Basics. Linux terminal basics. How networks work. How clients communicate in a network. Address Resolution Protocol - ARP. Network layers. Domain Name System - DNS. Hypertext Transfer Protocol - HTTP. HTTPS. How anti-virus programs work. Sockets. Connecting devices over TCP. Transferring data over TCP. How website work. GET & POST requests. And more! By the end of the course you're going to have programming skills to write any program even if it has nothing to do with hacking, but you'll learn programming by programming hacking tools! With this course you'll get 24/7 support, so if you have any questions you can post them in the Q&A section and we'll respond to you within 15 hours. Notes: This course is created for educational purposes only and all the attacks are launched in my own lab or against devices that I have permission to test. This course is totally a product of Zaid Sabih & zSecurity, no other organisation is associated with it or a certification exam. Although, you will receive a Course Completion Certification from Udemy, apart from that NO OTHER ORGANISATION IS INVOLVED. What you’ll learn 170+ videos on Python programming & ethical hacking Install hacking lab & needed software (on Windows, OS X and Linux) Learn 2 topics at the same time - Python programming & Ethical Hacking Start from 0 up to a high-intermediate level Write over 20 ethical hacking and security programs Learn by example, by writing exciting programs Model problems, design solutions & implement them using Python Write programs in Python 2 and 3 Write cross platform programs that work on Windows, OS X & Linux Have a deep understanding on how computer systems work Have a strong base & use the skills learned to write any program even if its not related to hacking Understand what is Hacking, what is Programming, and why are they related Design a testing lab to practice hacking & programming safely Interact & use Linux terminal Understand what MAC address is & how to change it Write a python program to change MAC address Use Python modules and libraries Understand Object Oriented Programming Write object oriented programs Model & design extendable programs Write a program to discover devices connected to the same network Read, analyse & manipulate network packets Understand & interact with different network layers such as ARP, DNS, HTTP ....etc Write a program to redirect the flow of packets in a network (arp spoofer) Write a packet sniffer to filter interesting data such as usernames and passwords Write a program to redirect DNS requests (DNS Spoofer) Intercept and modify network packets on the fly Write a program to replace downloads requested by any computer on the network Analyse & modify HTTP requests and responses Inject code in HTML pages loaded by any computer on the same network Downgrade HTTPS to HTTP Write a program to detect ARP Spoofing attacks Write payloads to download a file, execute command, download & execute, download execute & report .....etc Use sockets to send data over TCP Send data reliably over TCP Write client-server programs Write a backdoor that works on Windows, OS X and Linux Implement cool features in the backdoor such as file system access, upload and download files and persistence Write a remote keylogger that can register all keystrikes and send them by Email Interact with files using python (read, write & modify) Convert python programs to binary executables that work on Windows, OS X and Linux Convert malware to torjans that work and function like other file types like an image or a PDF Bypass Anti-Virus Programs Understand how websites work, the technologies used and how to test them for weaknesses Send requests towebsites and analyse responses Write a program that can discover hidden paths in a website Write a program that can map a website and discover all links, subdomains, files and directories Extract and submit forms from python Run dictionary attacks and guess login information on login pages Analyse HTML using Python Interact with websites using Python Write a program that can discover vulnerabilities in websites Are there any course requirements or prerequisites? Basic IT knowledge No Linux, programming or hacking knowledge required. Computer with a minimum of 4GB ram/memory Operating System: Windows / OS X / Linux Who this course is for: Anybody interested in learning Python programming Anybody interested in learning ethical hacking / penetration testing Instructor User photo Zaid Sabih Ethical Hacker, Computer Scientist & CEO of zSecurity My name is Zaid Al-Quraishi, I am an ethical hacker, a computer scientist, and the founder and CEO of zSecurity. I just love hacking and breaking the rules, but don’t get me wrong as I said I am an ethical hacker. I have tremendous experience in ethical hacking, I started making video tutorials back in 2009 in an ethical hacking community (iSecuri1ty), I also worked as a pentester for the same company. In 2013 I started teaching my first course live and online, this course received amazing feedback which motivated me to publish it on Udemy. This course became the most popular and the top paid course in Udemy for almost a year, this motivated me to make more courses, now I have a number of ethical hacking courses, each focusing on a specific field, dominating the ethical hacking topic on Udemy. Now I have more than 350,000 students on Udemy and other teaching platforms such as StackSocial, StackSkills and zSecurity. Instructor User photo z Security Leading provider of ethical hacking and cyber security training, zSecurity is a leading provider of ethical hacking and cyber security training, we teach hacking and security to help people become ethical hackers so they can test and secure systems from black-hat hackers. Becoming an ethical hacker is simple but not easy, there are many resources online but lots of them are wrong and outdated, not only that but it is hard to stay up to date even if you already have a background in cyber security. Our goal is to educate people and increase awareness by exposing methods used by real black-hat hackers and show how to secure systems from these hackers. Video course
my solutions to the exercises in book Data Structures and Algorithms in Python
Riddhi9570
Solutions to Hackerrank.com practice problems in SQL, JAVA, C++ , Python, Data Structures and Algorithms.
rohanmistry231
A comprehensive resource for Python interview preparation, featuring coding challenges, solutions, and tutorials on core concepts like data structures, algorithms, and libraries. Designed to help developers excel in technical interviews with practical exercises and detailed explanations.
An open source codebase for sharing programming solutions. This repository is in development phase and will soon provide you with python code of various data structures and algorithms . as we all know that there are not much resources which is available to learn data structures and algorithms in python.
ideas4u
This project is the most awaited project in open source community where every user who belongs to Stock Trading always wanted to develop its own software. This project has been developed specifically for Indian Market Stock Trading. It encompasses end to end trading cycle for intraday trading but the design would be such that it can be easily extended for delivery trading. During the lifecycle of this project we will be using most advance technologies but the base code will always be C/C++. Development Methodology: ======================== We use "Incremental Life Cycle Model" along with Cross-Platform Development (Portable). Project Priorities and Assumptions: =================================== 1) Low Latency, High Performance all the time. 2) Wherever choice has to be made between memory and execution speed, we give preference to speed. 3) Every module devloped will be exhaustively tested. How the work Proceed: ===================== Before the beginning of any new project, we should know the "PROBLEM STATEMENT", so here it is "Problem Statement" ------------------- To Build a high performance, low latency, end to end Trading Platform for Indian Stock Market but not limited to which home users should be able use for trading which guarantees (99% of the times) the profit but does not guarantees maximized profit for intraday trading. First Step: ----------- To provide the optimal solution to any problem is "UNDERSTAING THE PROBLEM". To understand the above problem statement you need to really extract the explicit and implcit requirements from the statement. Here is the List of requirements: Explicit: --------- 1) High Performance 2) Low-Latency 3) End-to-End Trading Platform 4) Focus on Indian Stock Market but not limited to it. 5) Guarantees (99% of the times) the profit but does not guarantees maximized profit. 6) Only for Intraday Trading. Implicit: --------- 1) Book Keeping of the order and trade (Order Management System). 2) Availability of Market Data to End-Users on Demand for identifying the stock and placing the order. 3) User Account Management. Might be I missed something please suggest and after reveiw we add it here. Second Step: ------------ To understand the above Explicit/Implicit requirements, you should have the "KNOWLEDGE OF VARIOUS TECHNOLOGIES" and indepth undertstanding of the "PROBLEM DOMAIN" i.e. Stock Market. Once this is achieved we need to architect the solution in terms of Software and Hardware nodes and their integration. Third Step: ----------- To solve the problem statement, the above requirements should be "DECOMPOSED IN MODULES" and map to them with technolgoies/software/hardware used. Below is the list of modules we are able to identify: Modules Included: ================= Core Modules: -------------- 1) Core Libraries 2) Manual Order Entry System 3) Auto Order Entry System 4) Artificial Exchange 5) Algorithmic Trading Platform 6) Smart Order Router 7) Direct Trading Platform (Ooptional) Utility Modules: ---------------- 8) Logger Server 9) HeartBeat Server Technologies Used: ================= Software: --------- We always use freeware, Open Source Softwares or APIs which are the part of GPL, LGPL.xx licence. Any special requirement for building/using the modules will be detailed in specific module. For development, we generally use: ---------------------------------- Windows-7 for Operating System but any other OS ca be used. Our Code is Platform Indepandant. Visual Studio 2013 in built compiler for build or Intel@ Compilers which can be easily integrated with Visual Studio IDE. For real time, we generally use: -------------------------------- Linux-susse 10 or above with real time extensions. gcc 4.4.1 for build. vi editor Hardware: --------- No special requirement for development purpose. For real time use, it depands how much Stock you are interested in and the various configuration of modules. We prefer generally the below configuration for any number of Stock Trading: 256 GB RAM 16 core processor 1 TB of HDD/SDD Programming Languages and other Technologies: --------------------------------------------- C, C++99/c++11, Lua, ZeroMq, nanodbc, Lock-Free Data Structures, Intel TBB, Boost, Google Protobuf, MySql, Python. Fourth Step: ------------ Dcompose each module till it becomes entity to provide the useful functionality. We are going to explain this in each module detailed section. Fifth Step: ------------ We do design/develop/benchmark/unit test/integration testing of the above modules. Sixth Step: ------------ We deploy the delivered software on various hardware nodes as per the deployment architecture and integrate them. Seventh Step: ------------ Observe the behaviour of deployed software on live traffic and cut two branches at this level : 1st branch continue to do incremental development and 2nd branch fix the issues reported which can be later merged with 1st branch for another release. Any suggestions for improvement are most welcome.
pramod-Paratabadi
Solutions to InfyTQ Assignments, Last Year InfyTQ questions, Reference Cheatsheets for Python Programming, InfyTQ Solutions for Programming in pytho, Data Structure algorithm(DASA), and OOP
pkprajapati7402
A comprehensive repository containing implementations of data structures and algorithms in C++, Java, Python, and C. It includes solutions to popular DSA problems, CodeChef DSA challenges, and the Love Babbar DSA Practice Sheet. Ideal for learning, practice, and interview preparation.
michaelddeming
My personal notes and solutions to reinforcement problems from Data Structures and Algorithms in Python. This repository documents my learning journey through the book, featuring chapter-by-chapter insights and Python implementations.
My solution to projects in web book "Data Structures and Algorithms with Object-Oriented Design Patterns in Python"
LucasHartman
‘Generative House Algorithm’ was constructed for one simple reason, being one click away from creating a range of uniquely designed model houses. At the beginning of 2020, the start of the covid-19 pandemic, I started learning programming. My background is in developing 3D motion graphics, but my work goes into different directions. I feel inspired by trying out new things, but often feel constrained by the software I use. I never found the right software that could satisfy my every need. A few years back, I visited a motion graphics event in Prague. Here I saw a presentation by Simon Homedal from Man vs. Machine and he introduced me to procedural programming for digital art. And so my journey into learning to code started. Being stuck at home because of covid-19, I was presented with a change to really jump in and start developing a few coding projects. I started out with a simple board game in Java, where I was introduced to ‘object oriented programming’ and UI development and many other general concepts. At the end of this project I came to the conclusion that simple programming is not enough, I needed to combine with something I already have experience of. So I started using Python inside Maya, focusing on asset development of simple programs I could execute whenever I’m working on a 3D project. At the time I was wondering if I could deconstruct houses to an algorithm. The inspiration for this project came from wandering around the residential areas where I lived. Zandberg has very diverse styles of architecture; Terrace houses with high ceilings, classical villas with roofs made of straw and modern villas built after WWII. I was captivated by the diversity in design. Breakdown A simple UI inside Maya, where the uses can specify the value for generating a number of houses. Simple things like level and roof height, number of doors, max number of levels, etc. Lastly a button that would take in the value and run the algorithm. The back-end consists of a number of Python modules, textures and .obj files. One Python file called the “Main”, is where the files are assembled and executed. Process Developing a generative algorithm is a process of trial and error. At the start of the project I treated the project like any other modeling project, only every design decision was programmed in with a number of possible solutions. Over time this would become very complex and unstructured. It became impossible to go back and modify what I already wrote down. Another problem was that the algorithm was creating the model for running the code. This meant that selecting, adding and subtracting mesh to the model cost a lot of processing power, to the point my computer would freeze up. I needed to rethink my process and develop a framework which is easy to modify and light on the processor. My new plan of attack was to do as little as possible in Maya. All design instructions needed to be solved before anything can be created in Maya. Going into this direction was a hard choice. First off, it’s not a guarantee for success. The moment I would go too deep, things can get messy very easily. Besides I consider myself more of a visual thinker. Working outside of Maya meant every hurdle would be some sort of math problem. I already knew I had no choice, and understood this is the type of problem solving a programmer has to deal with. So I started out doing a little bit of RnD. My first test was to create a number of lists. Generally every list would hold some type of value. Like positional data, labels, dimensions, objects etc. and the rest would be a range of functions iterating, generating, gathering, and sorting data into these lists. These seemed flexible enough, if I needed to add new details to the model, I would make a new list and apply this into the framework. This type of framework was not very structured as I hoped. Luckily I discarded this ideal before it really began. I was already attracted by the idea of using a matrix instead of lists at the top of lists. The matrix would provide data in three dimensions, like a volume or a box made out of separate units. I would add an extra dimension to each unit, which is a list of six values. Each value would represent each side of a unit. The general ideal of a matrix is like a fluid simulation, which is made out of a matrix of voxels, or like Minecraft where each unit can be some type of block. This would create a data structure that is easy to modify. The next step would be to feed the matrix with values. A value can represent walls, doors, windows, levels, rooftops, position and direction. It starts with an empty matrix, and secondly fill it with values of 1 (later on inside Maya, value 1 would generate a wall, the location within the matrix would be translated to 3D space). If you’d stop here and translate the matrix to mesh in Maya, you would get a cluster of boxes stacked next or on top of each other. Adding more data to the matrix meant it needed to structure itself, so it would generate a cohesive design. If not the final result would be a house with holes in the wall or floating rooms. Therefore a number of functions are needed for searching for patterns, and modifying the data. A standard function would iterate over each unit in the matrix and check the neighboring values. If some sort of condition is met, the proper value will be modified. Going back to our cluster of boxes example. If a has a neighbouring box in front and to the left, but nothing on top, this would be a condition where a corner roof would be generated. And so different functions would solve design problems. In the end you would be left with a matrix of values that would serve as a blueprint for generating in house inside Maya. Finally the model needs to be made in Maya. A number of parts like a wall, door or window are generated or imported in Maya. When iterating over the finished matrix, a certain value in a certain place in the matrix will decide which objects (example wall or roof) needs to be instanced and placed in the right position and direction. When the matrix is fully realised in Maya the model gets a final cleanup, by merging the model, deleting unused parts and empty groups. What is left is the house model. If a range of houses needs to be generated, the process is simply looped over a number of times. Final word This project took way longer than I had anticipated and is far from finished. I learned a lot and at the same time it feels like I have only just begun. I hope to pick up this project again in the near future. I would love to add more elements to the house, like roof-windows or balconies and create procedural shaders. And possibly try out machine learning or some type of genetic algorithm. If you have any questions or are intrigued please contact me at ljh.hartman@gmail.com. Cheers!
lair001
My solutions to Data Structures and Algorithms in Python by Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser
Smart India Hackathon 2018 Identification of meritorious students in primary education Problem Statement:- Gujarat government has nearly 90 lac students studying in primary education across state. They are in different cities and villages across state. There is no mechanism to identify bright students who are performing well in study, sports or other activities. Web portal can be designed to acquire date about such students and can be analyzed on different parameters. What Exact Problem is being solved? : Such identified students can be provided with extra resources or special attention can be given to their upbringing. Abstract To identify meritorious students firstly all the educational institutions need to upload the results of students as well as points of extra curriculum activity (activity name, score out of 10 for performance) to the database for a student according to the current class of study. Aadhar number for all the students will always be given (from there students details will be verified).A parent or any other nongovernment institute can also upload scanned copy of result or certificate of any student with his/her Aadhar number and their own details. Admin will Cross-check and verify it for the update in the database. One’s (schools and institutions) first login or registration, there will be a unique token, (user id and password) to the Portal. That login will be further verified. So every institution will have a unique user id and password and students' details will be uploaded yearly and updates will be done twice in a year. The second fold of the solution is to sort the data according to the merit of students. The designed application will perform the operation with the provided data and present a lesser (according to requirement) students' details. There should be some methods (a faster and optimal Algorithm to sort data by marks and activity score from database Base will be adopted i.e., any tree type-level representation) to sort the data (details) of meritorious students from provided records of all the students. The third and final part is providing the list of meritorious students to the education department and university. Each official and university will also have a login section. The list of meritorious students will be provided according to year, required field. The education department or university can also post the facilities provided to the selected and shortlisted student as a notice. Therefore, we are going to solve the stated problem by providing a Web-based application comprising of Web portal and secured database to identify meritorious students in primary education according to data (100%) uploaded and retrieved from several institutions and selected meritorious students list will be provided to (according to specification of different facilities 20-30%) to Education Department and Universities. Keywords: Aadhar Number as Primary key of Student Table. Online WEB-portal. Update Records every year to keep a check on the improvement, Standardization & Soring data based on Z – stat to filter out the meritorious students on the basis of acads and extra-curricular activities. Tree type-level representation of Database i.e. Admin – Institute – Student. Use Case :- Choice Based selection of meritorious student from data set. For instances if the requirement is only limited to academics, they can refer to the website to fetch a list of top scorers say top 100 or top 200 students. Again if the requirement is limited to selection of Extra-curricular activity like – singing, painting, dancing etc they can fetch the list of students having expertise in that particular field only. Identification of poor meritorious students and Funding based support from different NGO’s, organizations and donations if they want to provide. Supervising data based on entries done in every year (Region based) to keep a check on the individual growth of a student. For instances, a diligent student say X has been receiving scholarship every year now say that X student’s data has not been registered in Database in the next year. Thus there is a decay of GDP in the sample space. To highlight the social issues such as Child Labour, child trafficking, by year wise regulation Data. To prevent the girl child marriage on the basis of Dataset by the investigation Team. For instance if a girl found not registering in the consecutive Year, an investigation team can take action accordingly. Special Features: The school should submit their data to get a recognition as well as to be in sight of fund providing parties (governmental or non-governmental). Students will be benefited as direct communication is in between officials and student and no middle man in between. • Data analysis will be the key point to identification using assignment of z-marks by standard normal distribution. Technology Stack: We are to make a Web-based app, in a microlithic structure format, where the app structure is broken into different fragments, which does the different job. One part will be taking in the to the database from a web portal designed using CSS, JavaScript, PHP, and Servlet. Computation of the sorted data and the various mathematical calculations i.e. arranging the sorted data according to given criteria etc on a mathematical platform powered by JAVA. Another part will be integrated with the API's of various Education Department and Universities to provide them up with shortlisted meritorious students, integrating with their personal choices and cut-offs, and also where shortlisted students will be notified by notice posted. Keeping in mind the ease of obtaining marks and details which has increased throughout the years. In the web app, after one's first login or registration, each part of the education department, university and institution have a unique token, (user id and password) to the database. Coming to the part of its database, My SQL or Oracle or Mongo DB can be used with a firmed dashboard powered by python or JavaScript on a network frame. Since the app will be containing huge academic details of many students, so a strong encryption algorithm is to be used for data integrity and data security. AES-256 or MD5 would be best to use to protect the data in the database and for authentication Biometric data will also be preserved.
Kumbong
Solutions and explanations to practice problems (algorithms, data structures, math, tutorials, language proficiency) on hackerrank in python.
haroldeustaquio
Repository dedicated to solving Python problems from LeetCode, DataLemur and other programming challenges. Contains solutions implemented in Python to improve skills in algorithms and data structures.
Solution to all the exercises in Data Structures and Algorithms in Python by Goodrich, Tamassia and Goldwasser
kevininder
Implementation of data structures and algorithms in C++ and Python with solutions to the assignments of Algorithms Specialization offered by Stanford University on Coursera.
rimdrira
We present in this project the evaluation of our work. This evaluation is based on several simulations. Our simulation consists of two parts. We set, firstly, the optimal parameters configuration of our ABC-GA algorithm that provides the optimal solution. This part is implemented in the folder validation_test. Second, we evaluate the performance of the ABC-GA algorithm based on several performance metrics. This part is implemented in the folder evaluation_test. The data structure folder present the data structure used in our algorithm to design a composition plan. We implement genetic operation (cross-over and mutation) in the folder genetic_operations. All the simulations carried out in our work are executed on a machine whose characteristics are: •Processor: 2.9 GHz Intel Core i5 dual core. •RAM capacity: 8GB. •Operating system: Mac OS. The development language used in our work is Python. The QoS attributes considered in our simulations are cost,response time, availability and reliability. The simulations performed are based on a variation of the values of theseattributes in order to generate several solutions. We define the laws of variation ofthese attributes as follows: The cost follows the Uniform law between[0.2,0.95]. Response time follows the Uniform law [20,1500]. Availability follows the Uniform law between[0.9,0.99]. Reliability follows the Uniform Law between[0.7,0.95] We assign the weight = 0.25to each quality of service attribute.
waqasbukhari
This repository contains solutions to end of chapter exercises in the book on "Data Structures and Algorithms in Python"
Mahfuz2411
Welcome to the world of Data Structures and Algorithms (DSA) in various programming languages! Explore DSA concepts and solutions using Python, C++, Java, JavaScript, C#, and more. Whether you're learning the basics or mastering advanced techniques, this repository is your key to DSA in the language of your choice. Join the coding adventure today!
Vaibhav-12521
A collection of daily coding problems from GeeksforGeeks with solutions in [your preferred language, e.g., Python/C++/Java]. This repository is part of my daily coding practice to strengthen problem-solving and data structure & algorithm skills.
gasingh
solutions to an 8 weeks course in data structures and algorithms using python
Merwan-J
This repository contains solutions to various LeetCode interview questions, aimed at helping software engineers prepare for technical interviews. The solutions are written in Python and cover a wide range of topics such as data structures, algorithms, and problem-solving techniques.
Here I will try my best to write and upload all common and popular data structures and algorithms, in Python. If you find any issues with a code or you have a better solution please send me a pull request or let me know.
dsainvi
wgu-c950 Data Structures and Algorithms II - WGU Scenario The Western Governors University Parcel Service (WGUPS) needs to determine the best route and delivery distribution for their Daily Local Deliveries (DLD) because packages are not currently being consistently delivered by their promised deadline. The Salt Lake City DLD route has three trucks, two drivers, and an average of 40 packages to deliver each day; each package has specific criteria and delivery requirements. Your task is to determine the best algorithm, write code, and present a solution where all 40 packages, listed in the attached “WGUPS Package File,” will be delivered on time with the least number of miles added to the combined mileage total of all trucks. The specific delivery locations are shown on the attached “Salt Lake City Downtown Map” and distances to each location are given in the attached “WGUPS Distance Table.” While you work on this assessment, take into consideration the specific delivery time expected for each package and the possibility that the delivery requirements—including the expected delivery time—can be changed by management at any time and at any point along the chosen route. In addition, you should keep in mind that the supervisor should be able to see, at assigned points, the progress of each truck and its packages by any of the variables listed in the “WGUPS Package File,” including what has been delivered and what time the delivery occurred. The intent is to use this solution (program) for this specific location and to use the same program in many cities in each state where WGU has a presence. As such, you will need to include detailed comments, following the industry-standard Python style guide, to make your code easy to read and to justify the decisions you made while writing your program. Assumptions: Each truck can carry a maximum of 16 packages. Trucks travel at an average speed of 18 miles per hour. Trucks have a “infinite amount of gas” with no need to stop. Each driver stays with the same truck as long as that truck is in service. Drivers leave the hub at 8:00 a.m., with the truck loaded, and can return to the hub for packages if needed. The day ends when all 40 packages have been delivered. Delivery time is instantaneous, i.e., no time passes while at a delivery (that time is factored into the average speed of the trucks). There is up to one special note for each package. The wrong delivery address for package #9, Third District Juvenile Court, will be corrected at 10:20 a.m. The correct address is 410 S State St., Salt Lake City, UT 84111. The package ID is unique; there are no collisions. No further assumptions exist or are allowed. Requirements Your submission must be your original work. No more than a combined total of 30% of the submission and no more than a 10% match to any one individual source can be directly quoted or closely paraphrased from sources, even if cited correctly. An originality report is provided when you submit your task that can be used as a guide. You must use the rubric to direct the creation of your submission because it provides detailed criteria that will be used to evaluate your work. Each requirement below may be evaluated by more than one rubric aspect. The rubric aspect titles may contain hyperlinks to relevant portions of the course. Section 1: Programming/Coding A. Identify the algorithm that will be used to create a program to deliver the packages and meets all requirements specified in the scenario. B. Write a core algorithm overview, using the sample given, in which you do the following: Comment using pseudocode to show the logic of the algorithm applied to this software solution. Apply programming models to the scenario. Evaluate space-time complexity using Big O notation throughout the coding and for the entire program. Discuss the ability of your solution to adapt to a changing market and to scalability. Discuss the efficiency and maintainability of the software. Discuss the self-adjusting data structures chosen and their strengths and weaknesses based on the scenario. C. Write an original code to solve and to meet the requirements of lowest mileage usage and having all packages delivered on time. Create a comment within the first line of your code that includes your first name, last name, and student ID. Include comments at each block of code to explain the process and flow of the coding. D. Identify a data structure that can be used with your chosen algorithm to store the package data. Explain how your data structure includes the relationship between the data points you are storing. Note: Do NOT use any existing data structures. You must design, write, implement, and debug all code that you turn in for this assessment. Code downloaded from the internet or acquired from another student or any other source may not be submitted and will result in automatic failure of this assessment. E. Develop a hash table, without using any additional libraries or classes, with an insertion function that takes the following components as input and inserts the components into the hash table: package ID number delivery address delivery deadline delivery city delivery zip code package weight delivery status (e.g., delivered, in route) F. Develop a look-up function that takes the following components as input and returns the corresponding data elements: package ID number delivery address delivery deadline delivery city delivery zip code package weight delivery status (e.g., delivered, in route) G. Provide an interface for the insert and look-up functions to view the status of any package at any time. This function should return all information about each package, including delivery status. Provide screenshots to show package status of all packages at a time between 8:35 a.m. and 9:25 a.m. Provide screenshots to show package status of all packages at a time between 9:35 a.m. and 10:25 a.m. Provide screenshots to show package status of all packages at a time between 12:03 p.m. and 1:12 p.m. H. Run your code and provide screenshots to capture the complete execution of your code. Section 2: Annotations I. Justify your choice of algorithm by doing the following: Describe at least two strengths of the algorithm you chose. Verify that the algorithm you chose meets all the criteria and requirements given in the scenario. Identify two other algorithms that could be used and would have met the criteria and requirements given in the scenario. a. Describe how each algorithm identified in part I3 is different from the algorithm you chose to use in the solution. J. Describe what you would do differently if you did this project again. K. Justify your choice of data structure by doing the following: Verify that the data structure you chose meets all the criteria and requirements given in the scenario. a. Describe the efficiency of the data structure chosen. b. Explain the expected overhead when linking to the next data item. c. Describe the implications of when more package data is added to the system or other changes in scale occur. Identify two other data structures that can meet the same criteria and requirements given in the scenario. a. Describe how each data structure identified in part K2 is different from the data structure you chose to use in the solution. L. Acknowledge sources, using in-text citations and references, for content that is quoted, paraphrased, or summarized. M. Demonstrate professional communication in the content and presentation of your submission.
This repo helps you to understand the fundamentals of Data Structures and Algorithms. Implementations are done in JavaScript and Python. Also selected Leetcode coding question solutions are available.