Tumgik
#algorithms and data structures
ceyhanmedya · 2 years
Text
Algorithm
New Post has been published on https://hazirbilgi.com/what-is-algorithm-how-is-it-created/
Algorithm
What is algorithm? How is it created?
Algorithm ; It is the name given to the combination of methods and steps planned to perform a job or solve a problem. It is generally defined as a set of operations with a clear beginning and end, used in the field of programming or in solving mathematical problems. It is the regular determination of the movements, processes or works required in order to carry out the work planned to be done, in steps.
It is one of the two approaches used in problem solving and is more preferred than the heuristic solution approach. It is among the subjects that must be learned before a programming language for a computer programmer and can be defined as the most important topic of programming.
History
This concept first appeared in the 9th century and was first introduced by Khwarezmi . The scholar, whose full name is Ebu Abdullah Muhammed Ibn Musa al-Khorezmi, made great contributions to the field of mathematics by putting his work in algebra into writing. Harezmi’s most widely known book with Latin translations; Hisab is al-algebra and al-mukabala (حساب الجبر و المقابلة). This book is also described as the first known collection of algorithms .
The word algorithm originally comes from the word ‘ Algorism ‘. The reason for this is that Khwarezmi’s book was difficult to pronounce in Europe after it was translated into Latin, and Europeans who could not say the name of Khwarezmi called it ‘Algorism’. 
As a result, although the concept of Algorism began to be used in the sense of problem solving with Arabic numerals, it turned into its current form over time and started to be used in a general context. Finally, after the 1950s, especially with the developments in computer technologies, a concept came to represent the way almost every work to be done in the field of programming and the steps to be applied for its construction.
Algorithm creation
The algorithm can be in the form of prose and narrative, or in the form of a flowchart . Generally preferred is the one in the form of a flowchart. In order to create a process, some symbols are used to describe the work to be done. These symbols are of great importance, especially in terms of developing a program and understanding the process.
In order to create an algorithm, the work or problem to be done must be clearly defined and solution methods must be determined. In order to do the work or to implement the solution, all the steps that will lead to the result from the initial movement should be specified in the order of application. One of the most important concepts in this subject is the flow chart; The schematic representation of the solution of an algorithm is called a flowchart. 
Some flowchart commands are as follows;
Start-Finish (terminator)  
Input  
Process  
viewing 
Decision  
iterative process  
manually entered value
Examples
Example 1 (Explanation with everyday concepts)
Targeted Job:  Going from home to school
Start: Home
End: School
Algorithm:
Step 1: Open the door Step 2: Put on the shoes Step 3: Close the door Step 4: Exit the building Step 5: Walk the road Step 6: Walk to the 2nd fork Step 7: Turn left Step 8: Finish the road Step 9: Enter the school.
Example 2 (Explanation with programmatic concepts)
Intended Business:  Finding the factorial value of a number entered by the user
Getting Started:  Starting the program
Finish:  Show the result
Algorithm:
Step 1: Run the program Step 2: Define the variables factorial,i and n Step 3: Define the initial values of the variables factor = 1 i = Step 4: Read the n value entered from the screen Step 5: Repeat until (i=n) equality is achieved factorial = factorial*i i = i+1 Step 6: Show the value of the factorial variable
Some Important Algorithm Types
Search algorithms
Memory management algorithms
computer graphics algorithms
Combinatorial algorithms
Graph algorithms
evolutionary algorithms
genetic algorithms
Crypto algorithms or cryptographic algorithms
Rooting algorithms
Optimization algorithms
Sorting algorithms
Data compression algorithms
Conclusion
This concept can be encountered by people in all areas of life in general. Because the concept of algorithm represents the way to the solution rather than the solution. A plan prepared for a journey to be made and the steps determined for the completion of a job basically represent the algorithm. 
An algorithm that has not been implemented and whose results have not been observed is not deemed appropriate for patenting by law. But algorithms in software have been the subject of much discussion at this point. 
algorithm,algorithm definition,acls algorithm,dijkstra algorithm,rsa algorithm,rubik’s cube algorithm, quick sort algorithm,merge sort algorithm,binary search algorithm,greedy algorithm,instagram algorithm,algorithm analysis,algorithm synonym,algorithm aversion,algorithm ap psychology definition,algorithm app,algorithm art,algorithm antonyms,algorithm addition,algorithms and data structures,algorithm abbreviation,apriori algorithm,
2 notes · View notes
dakrsolutions · 2 years
Text
Java core and Advance java,
Devops & Aws, Algorithms and data structures
One-on-one training(one faculty to one student) Real-time faculty. Live and Real time Industrial Projects Paid Internship after successful course completion Up to scholarship trained 100% job guarantee Build your network for career growth Location:Sri Datta Sai Towers, 202, 2nd Floor, Apartment, beside AINU Institute of Nephrology and Urology, Dilsukhnagar, Hyderabad, Telangana 500060 More Info:+91 6302 160 257,7731902081,9347019949 [email protected] Web :www.dakrsolutions.com #javafullstackdeveloper#java#core#Advance java, #Devops#Aws#algorithms#datastructures #Algorithms and data structures #job #training #java #internship #devops #aws #datastructures #Projects
Tumblr media
1 note · View note
informatikerin-freyja · 6 months
Text
Sometimes I really wonder whether there are new interesting data structures to be discovered, or if basically we already know all the good data structure tricks and from this point forward it's just suffering in an intrinsically untenable war zone whose earth is constantly rended apart by combinatorial explosions....
11 notes · View notes
404icy · 1 year
Text
Tumblr media Tumblr media Tumblr media Tumblr media
current state of affairs
i just love how my room looks during warm weather... ☀️
119 notes · View notes
sweetanyways · 3 months
Text
(practicing dsa) is somebody gonna match my leet
7 notes · View notes
lieutenantselnia · 2 years
Text
Tumblr media
77 notes · View notes
hackeocafe · 2 months
Text
youtube
Data Structure and Algorithms in JAVA | Full Course on Data Structure
In this course, we are going to discuss Data Structures and Algorithms using Java Programming. The data structure is a way to store and organize data so that it can be used efficiently. It is a set of concepts that we can use in any programming language to structure the data in the memory. Data structures are widely used in almost every aspect of computer science i.e. operating systems, computer science, compiler design, Artificial Intelligence, graphic,s and many more. Some examples of Data structures that we are going to cover in this course are arrays, linked lists, stack, queue, Binary Tree, Binary Search Tree, Graphs, etc. Apart from knowing these data structures, it's also important to understand the algorithmic analysis of a given code. Different Sorting and searching techniques will be talked about with their implementation in java programming. Lastly, this course contains information on the Greedy approach, Dynamic approach, and divide and Conquer approach to programming.
3 notes · View notes
shelikesrainydays · 1 month
Text
Tumblr media Tumblr media
// August 18th, 2024
Yesterday I broke in tears because I think I’m going to fail Data Structures and Algorithms this semester. It’s just, too much. Not the topics I have to study, not even that I don’t actually enjoy practicing it, oh no. It’s that I don’t think I’m going to be able to send all of my assignments on time and they affect the final grade a lot. The materials for all three subjects get released only on Wednesdays at noon and it’s expected that an almost impossible amount of assignments are delivered before the following Tuesday at 8 p.m.
Why can’t I, for instance, do the work, send it as soon as I have it ready, and they can just take into account that I actually followed on the lessons and studied hard for the two exams before the final? It’s just… I don’t know. It seems ridiculous to me. I would be doing my best even without having that stupid pressure of doing the assignments on time, like any other person who is serious about theirs studies. I know I probably sound like a stupid kid, but people going to this university at night usually have a job already, otherwise, why wouldn’t we be taking the lessons on mornings/afternoons? Don’t they think about those cases? Incredible.
And I know one can probably think, “well, why don’t you drop that subject and follow up others and retake this one further in the future?
And the answer to that is, a) I’m feeling old to keep postponing my graduation (35 is becoming my least worst shot) and b) I have more plans, like for other important aspects of my life as well. And… ugh. The pressure. It’s too much.
I spoke to my sweet boyfriend about all these worries I have and he’s happy with both me telling him what I feel and how hard I am working with this. “Honey, it’s just the second week of the semester. You got this”. Cuddles and sushi were provided, and even when that didn’t wash the worries or pressure away, I felt loved. And cared for. I’m so lucky to have him in my life.
Sorry for the rant guys. I get that this is just the way it is and that these are the terms for getting a good grade, and if I don’t like it I can just leave it and try again, but… I just needed to get some of it out of my chest 🥲
But hey, at least I was able to write my very first little programs in C yesterday. Yay 🍷
3 notes · View notes
shwetaveer · 2 months
Text
41/196
When your passion and purpose align, you won't be chasing your dreams - they'll be magnetically drawn to you. Focus, dedication, and clarity create an irresistible pull that attracts success.
-Your Ambition-lessness won't pay your bills, DSA will.
Tumblr media
3 notes · View notes
watchmorecinema · 11 months
Text
Normally I just post about movies but I'm a software engineer by trade so I've got opinions on programming too.
Apparently it's a month of code or something because my dash is filled with people trying to learn Python. And that's great, because Python is a good language with a lot of support and job opportunities. I've just got some scattered thoughts that I thought I'd write down.
Python abstracts a number of useful concepts. It makes it easier to use, but it also means that if you don't understand the concepts then things might go wrong in ways you didn't expect. Memory management and pointer logic is so damn annoying, but you need to understand them. I learned these concepts by learning C++, hopefully there's an easier way these days.
Data structures and algorithms are the bread and butter of any real work (and they're pretty much all that come up in interviews) and they're language agnostic. If you don't know how to traverse a linked list, how to use recursion, what a hash map is for, etc. then you don't really know how to program. You'll pretty much never need to implement any of them from scratch, but you should know when to use them; think of them like building blocks in a Lego set.
Learning a new language is a hell of a lot easier after your first one. Going from Python to Java is mostly just syntax differences. Even "harder" languages like C++ mostly just mean more boilerplate while doing the same things. Learning a new spoken language in is hard, but learning a new programming language is generally closer to learning some new slang or a new accent. Lists in Python are called Vectors in C++, just like how french fries are called chips in London. If you know all the underlying concepts that are common to most programming languages then it's not a huge jump to a new one, at least if you're only doing all the most common stuff. (You will get tripped up by some of the minor differences though. Popping an item off of a stack in Python returns the element, but in Java it returns nothing. You have to read it with Top first. Definitely had a program fail due to that issue).
The above is not true for new paradigms. Python, C++ and Java are all iterative languages. You move to something functional like Haskell and you need a completely different way of thinking. Javascript (not in any way related to Java) has callbacks and I still don't quite have a good handle on them. Hardware languages like VHDL are all synchronous; every line of code in a program runs at the same time! That's a new way of thinking.
Python is stereotyped as a scripting language good only for glue programming or prototypes. It's excellent at those, but I've worked at a number of (successful) startups that all were Python on the backend. Python is robust enough and fast enough to be used for basically anything at this point, except maybe for embedded programming. If you do need the fastest speed possible then you can still drop in some raw C++ for the places you need it (one place I worked at had one very important piece of code in C++ because even milliseconds mattered there, but everything else was Python). The speed differences between Python and C++ are so much smaller these days that you only need them at the scale of the really big companies. It makes sense for Google to use C++ (and they use their own version of it to boot), but any company with less than 100 engineers is probably better off with Python in almost all cases. Honestly thought the best programming language is the one you like, and the one that you're good at.
Design patterns mostly don't matter. They really were only created to make up for language failures of C++; in the original design patterns book 17 of the 23 patterns were just core features of other contemporary languages like LISP. C++ was just really popular while also being kinda bad, so they were necessary. I don't think I've ever once thought about consciously using a design pattern since even before I graduated. Object oriented design is mostly in the same place. You'll use classes because it's a useful way to structure things but multiple inheritance and polymorphism and all the other terms you've learned really don't come into play too often and when they do you use the simplest possible form of them. Code should be simple and easy to understand so make it as simple as possible. As far as inheritance the most I'm willing to do is to have a class with abstract functions (i.e. classes where some functions are empty but are expected to be filled out by the child class) but even then there are usually good alternatives to this.
Related to the above: simple is best. Simple is elegant. If you solve a problem with 4000 lines of code using a bunch of esoteric data structures and language quirks, but someone else did it in 10 then I'll pick the 10. On the other hand a one liner function that requires a lot of unpacking, like a Python function with a bunch of nested lambdas, might be easier to read if you split it up a bit more. Time to read and understand the code is the most important metric, more important than runtime or memory use. You can optimize for the other two later if you have to, but simple has to prevail for the first pass otherwise it's going to be hard for other people to understand. In fact, it'll be hard for you to understand too when you come back to it 3 months later without any context.
Note that I've cut a few things for simplicity. For example: VHDL doesn't quite require every line to run at the same time, but it's still a major paradigm of the language that isn't present in most other languages.
Ok that was a lot to read. I guess I have more to say about programming than I thought. But the core ideas are: Python is pretty good, other languages don't need to be scary, learn your data structures and algorithms and above all keep your code simple and clean.
13 notes · View notes
ml---gone · 1 year
Text
making games is hard...
9 notes · View notes
deletedg1rl · 1 year
Text
im trying so hard to understand linked lists 😭😭😭😭😭😭😭
Tumblr media
13 notes · View notes
dakrsolutions · 2 years
Text
Tumblr media
Java core and Advance java, Devops & Aws, Algorithms and data structures One-on-one training(one faculty to one student) Real-time faculty. Live and Real time Industrial Projects Paid Internship after successful course completion Up to scholarship trained 100% job guarantee Location:Sri Datta Sai Towers, 202, 2nd Floor, Apartment, beside AINU Institute of Nephrology and Urology, Dilsukhnagar, Hyderabad, Telangana 500060 More Info:+91 6302 160 257,7731902081,9347019949 [email protected] Web :www.dakrsolutions.com
0 notes
snaildotexe · 1 year
Text
Software Technical Interview Review List
Data Structures
Arrays (and Java List vs ArrayList)
String
Stack
Queue
LinkedList
Algorithms
Sorting (Bubblesort, Mergesort, Quicksort)
Recursion & Backtracking
Linear and Binary Search
String/Array algos
Tree traversal
Dynamic Programming
Graph algos (DFS, BFS, Dijksta's and Kruskals)
OOP fundamentals
Polymorphism
Inheritance
Encapsulation
Data abstraction
SOLID and GRASP
Explanations & example questions:
Strings and Arrays [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]
Stacks and Queues [ 1 | 2 ]
LinkedList [ 1 | 2 ]
Sorting & searching [ 1 | 2 | 3 | 4 | 5 | 6 | 7 ]
Recursion and Backtracking [ 1 | 2 | 3 | 4 ]
Dynamic Programming [ 1 | 2 | 3 | 4]
Graphs [ 1 | 2 | 3 ]
Tree [ 1 | 2 ]
General DS&A info and questions [ 1 | 2 | 3 | 4 | 5 ]
OOP review & questions [ 1 | 2 | 3 ]
12 notes · View notes
404icy · 2 years
Text
Tumblr media Tumblr media Tumblr media Tumblr media
focus...
127 notes · View notes
lazyp0tat07 · 7 months
Text
What Dijkstra's two-stack algorithm does to Left parenthesis of Infix expression is everyone does to me
.
.
.
IGNORE 🤡
6 notes · View notes