Algorithms for work - Array

Algorithms for work - Array

#sharing

I want to borrow this picture to start sharing about arrays in Java (or any other language) and leave an open question at the end.

We somehow know that we can define an array with the 𝐝𝐚𝐭𝐚-𝐭𝐲𝐩𝐞 and the 𝐬𝐢𝐳𝐞 of the array.

for example: int[] array = new int[7];

example array with data

And we have the name of the array holding the starting point / address of it.

and with the 𝑖𝑛𝑑𝑒𝑥 we can direct access to it. But how? Okay, it's all laid down on "how you created it".

You already gave it the data-type which is the same as telling the computer that we have a block with a fixed size (in this example, it's 1 integer size of 4 bytes).

And you give it the size so the computer knows that they need to find a 𝐩𝐥𝐚𝐜𝐞 for you to put the block next to each other.

So when we access the array (starting point 2000), and we want to go to the index of 3. The machine knows that you want to get the data at location 2000+3*4 = 2012. It go there, reads the data block with a size of 4, and converts the bytes/bits into the data type so we get 𝟕 out.

go to 2012 and get 7

Same goes for when you update array[2] = 11;

direct access to modify

Fun fact / bonus: In Java we have IndexOutOfBoundsException to catch the action of accessing the 'invalid' index.

But when you work with C/C++, those exception don't happen and it still read data with the same rule.

So if you try to access array[-1] you still get the data out. So if you are using this, please be aware of it, It can OVERWRITE the data of an existing value if you modify the memory they are using.


So the idea can apply to the static array of all data types (with all kinds of sizes), and you can somehow understand direct access, which makes the array really fast when it comes to accessing and modifying the data.



Open question:

  • Why do we need arrays?
  • From which problem do we create arrays? And what if we don't have array?



#sharingWithCS

#ChjnSu

To view or add a comment, sign in

More articles by Nam Nguyen

  • Weekly Newsletter: Relearn | Unlearn

    Weekly Newsletter: Relearn | Unlearn

    Vỗ tay nhanh nhất thế giới Gần đây mình đi học nói mới nhớ lại một video từ xưa: Kỷ lục vỗ tay nhanh nhất thế giới…

  • Weekly NewsLetter: Cảm ơn những lời nhận xét

    Weekly NewsLetter: Cảm ơn những lời nhận xét

    Bài hôm nay muốn nói về hành trình mình đi tìm những lời nhận xét tiếp theo để thay đổi bản thân mình tốt hơn. Phần đầu…

    2 Comments
  • Weekly NewsLetter: Lựa chọn ở tuổi 30 - Thực tế

    Weekly NewsLetter: Lựa chọn ở tuổi 30 - Thực tế

    Đầu tiên là quay lại Part 1: 4 niềm tin cơ sở 1 chút cho tư duy này 1. Cuộc đời là một chuỗi các lựa chọn.

    20 Comments
  • Weekly NewsLetter: Lựa chọn ở tuổi 30 Part 2

    Weekly NewsLetter: Lựa chọn ở tuổi 30 Part 2

    Nếu phải đúc kết cả quảng thời gian mình học hỏi và tìm cho mình được các bản chất của vấn đề thì thật sự rất dài…

    9 Comments
  • Lựa chọn tuổi 30 - Part 1 Niềm tin

    Lựa chọn tuổi 30 - Part 1 Niềm tin

    Niềm tin số 1 Cuộc đời là một chuỗi các lựa chọn. Cuộc sống của mỗi người thực chất là kết quả của những lựa chọn chúng…

    8 Comments
  • Weekly NewsLetter: IT Học nói P1: Hụt hơi

    Weekly NewsLetter: IT Học nói P1: Hụt hơi

    Góc nhìn từ podcast với Trần Quốc Huy Hôm vừa rồi, khi tham gia podcast cùng anh Trần Quốc Huy , mình nhận ra rằng công…

    20 Comments
  • PDCA - Plan Do Check Act - Học 1 biết nhiều

    PDCA - Plan Do Check Act - Học 1 biết nhiều

    Trong chuỗi bài viết nếu tôi biết trước khi 30, thực ra điều này về lý thuyết thì mình biết rồi, nhưng nó lại chính là…

    1 Comment
  • MVP Hành trình học nói - Step 7/7

    MVP Hành trình học nói - Step 7/7

    Xin chào mn 7 bước rèn luyện tư duy nói chia làm 3 phần chính là: Tiếp nhận kiến thức Định nghĩa Lựa chọn thông tin…

    4 Comments
  • Mấy đứa đọc truyện làm sao mà 'lớn' được? Đọc sách đi!

    Mấy đứa đọc truyện làm sao mà 'lớn' được? Đọc sách đi!

    Mình ngại đọc sách. Mình vẫn ngại đọc sách.

    7 Comments
  • Wecommit một hành trình

    Wecommit một hành trình

    Rất vui được có cơ hội làm quen với các bạn. Mình là một lập trình viên yêu thích thuật toán và thích hiểu bản chất của…

    30 Comments

Insights from the community

Others also viewed

Explore topics