# Is learning DSA a humanly task? How can I learn it?

**URL:** <https://forum.kirupa.com/t/is-learning-dsa-a-humanly-task-how-can-i-learn-it/663568>\
**Category:** programming\
**Created:** [December 9, 2023, 3:14pm UTC](https://forum.kirupa.com/t/is-learning-dsa-a-humanly-task-how-can-i-learn-it/663568 "2023-12-09T15:14:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![oslon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/oslon/32/24631_2.png) [@oslon](https://forum.kirupa.com/u/oslon)\
**Post date:** [December 9, 2023, 3:14pm UTC](https://forum.kirupa.com/t/is-learning-dsa-a-humanly-task-how-can-i-learn-it/663568/1 "2023-12-09T15:14:01Z")

</div>

I feel so challenged to solve the algorithm problems. So far, I am only on time complexity analysis, and god, the amount of logic here it goes, it’s mind blowing.  
How do I learn all of it to be able to solve all the GATE CSE level of problems? I can solve recurrence relations, but I always get confused in loops complexity. Can I ask difficult questions here?

```auto

for i<-1 to (n-1)
{
    for j<-i+1 to n
    {
        for k<-1 to j
        {
            print("*");
        }
    }
}

```

How many times will “star” be printed? In order of n?

I want to be able to solve more problems like that on my own without the help of anyone. Is practicing the only way to solve these problems? I mean that’d be like cheating?

I want to ask how to analyze these problems? Anyone who solved it at first attempt without google/chatgpt, what was your thought process like? Please explain your thought process

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [December 9, 2023, 6:08pm UTC](https://forum.kirupa.com/t/is-learning-dsa-a-humanly-task-how-can-i-learn-it/663568/2 "2023-12-09T18:08:43Z")

</div>

Hi @oslon - welcome! Practicing is key. Understanding why the code works the way it is also important. For example, here is a primer on how to understand the running time of an algorithm.

> **[Big-O Notation and Complexity Analysis](https://www.kirupa.com/data_structures_algorithms/big_o_notation.htm)**
>
> Demystify the Big-O notation and its impact on helping us analyze the time and space complexity of a piece of code, an algorithm, or a data structure operation.

---

<div class="post-metadata">

**Author:** ![oslon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/oslon/32/24631_2.png) [@oslon](https://forum.kirupa.com/u/oslon)\
**Post date:** [December 10, 2023, 7:29am UTC](https://forum.kirupa.com/t/is-learning-dsa-a-humanly-task-how-can-i-learn-it/663568/3 "2023-12-10T07:29:04Z")

</div>

can you help to build thought process for this problems?
