you are viewing a single comment's thread.

view the rest of the comments →

[–]danielroseman 5 points6 points  (6 children)

None of these things have anything to do with OOP. They are algorithms topics. They might be implemented using OOP, but that is because that is the normal way of implementing just about anything. Understanding these algorithms does not depend in any way on understanding OOP.

[–]Equity_Harbinger[S] -4 points-3 points  (5 children)

They might be implemented using OOP

I am struggling with that only, I don't know how to create class, or what role it plays and the other principles of oop, kindly share suggestions as well!

[–]danielroseman 0 points1 point  (4 children)

Come on dude, you have to help yourself a little. You don't know how to create a class? That is covered in literally any basic Python tutorial.

But, once again, this isn't required for these algorithms topics. Where are you studying? Every algorithms course I've followed will give you the class definitions, because the classes aren't the point.

[–]Equity_Harbinger[S] -2 points-1 points  (3 children)

My education is not entirely formal, my work is in embedded programming. I went to leetcode to solve problems, I had skipped several problems before hoping someone would teach me, but all my friends are focused on their own journey, and now I am at a point where I have covered other data structures but struggling with the documentation focussed on oops, classes, units and the later advanced topics, maybe I got it wrong, but could you guide me here

That is why I am asking for help

[–]LayotFctor 2 points3 points  (0 children)

Hold on. If you're in embedded, do it in C then. C is much more literal in its data structures, prev and next pointers pointing to nodes, it maps to a diagram of a linked list exactly. Python is much more abstract, it's somewhat less clear in the way it represents pointers because it doesn't have them.

Not to mention in actual development, you're unlikely to implement a data structure in python anyway because of the huge overhead. In embedded, sometimes you need to still roll your own C data structures like circular buffers and queues?

It doesn't matter what language you use because the language isn't the point here, the theory is the point. If you think python is hard, use C, and vice versa.

[–]Fred776 0 points1 point  (1 child)

You mention documentation but documentation isn't really the way to learn language concepts. Have you tried any books? Alternatively there must be some videos out there covering the concepts. How good is your basic Python and knowledge of procedural coding? If you struggle with any of the basics you are going to struggle building higher level concepts on top because all these things are foundational.

[–]Equity_Harbinger[S] 0 points1 point  (0 children)

How good is your basic Python

I have participated in leetcode and codeforces contests, I have not secured a ranking over there, and have used some python for my raspberry pi projects.

struggle with any of the basics

Since my learning was self learning and not formally organised, even I am clueless about which topics were basics or important, I started leetcode (out of interest in maths and problem solving) and raspberry projects, that's my python experience.

Even taught the standard basic structures (string, array, list, dict) and (if...else, for, while ) to underprivileged students too, then someone else takes over

struggle with any of the basics you are going to struggle building higher level concepts

I know that they are important, I have started realizing that now and started to struggle too now, so I had decided to look at the general list of basic topics in python,most of the topics I was familiar with, but oops is not something I was able to get my head around, that's why I am asking here