Traversal and Searching in an Array
Explore how to traverse arrays and perform searching operations in Go. Understand linear search for unsorted arrays and binary search for sorted arrays, and compare their time complexities. This lesson helps you master fundamental array operations crucial for efficient programming.
We'll cover the following...
At this point, the core array operations are established. Reading or updating a single element is only one aspect. Effective use of arrays also requires traversing them and locating elements. In Go, we usually use slices for array-like data, and the same ideas apply. This lesson covers traversal and searching, which are fundamental operations in array-based problems.
Traversal (Iterate through the array)
Traversal means going through every element of an array, one at a time, from the first to the last. It is a commonly used operation and serves as the foundation for almost everything else: searching for a value, adding up a total, printing every element, or checking whether a condition is met.
How traversal works
To traverse an array, we use a loop that visits each element one at a time, from start to end. Think of it like reading through our scorecard from game 1 to the last game, one row at a time. We do not skip any entry and we do not jump ahead. We simply go through each one in order.
The most common way to traverse a slice in Go is with a for loop using range, where element is the current item being accessed during each iteration. This allows us to process every value one by one without manually managing indices.
for _, element := range array {// do something with element}
Consider a scores slice []int{88, 95, 70, 82, 91}. The following illustration shows how the loop visits each element one at a time from left to right:
Go implementation
The following code shows how to traverse the scores slice and print each element:
The loop goes through the scorecard from game 1 to game 5, printing each score in the order it was recorded. Unlike access or update, ...