
Sponsored
Sponsored
Explanation: Iterator Filtering
This approach involves iterating through each record (or row) in the DataFrame and checking the 'student_id' against the specified value (101). Once a match is found, we can extract the 'name' and 'age' and return it as the result.
Time Complexity: O(n), where n is the number of students. We may have to check each student in the worst case.
Space Complexity: O(1), as no additional space beyond input storage is used.
The function find_student() iterates through an array of Student structs, checking each student_id. When it finds a match (101), it prints out the 'name' and 'age' fields in a formatted manner.
Explanation: Lookup with Map/Dictionary
This approach involves using a hash table, such as a Dictionary in Python or HashMap in Java, to store each student record with their student_id as the key. This enables direct access to a record based on student_id with average O(1) complexity, extracting 'name' and 'age' immediately.
Time Complexity: O(1), as hash table operations (get) average constant time.
Space Complexity: O(n), space usage increases with input size.
1const studentMap = {
2 101: { name: 'Ulysses', age: 13 },
3 53: { name: 'William', age: 10 },
4 128: { name: 'Henry', age: 6 },
5 3: { name: 'Henry', age: 11 }
6};
7
8const student = studentMap[101];
9if (student) {
10 console.log('+---------+-----+');
11 console.log(`| ${student.name} | ${student.age} |`);
12 console.log('+---------+-----+');
13}JavaScript objects provide a way to define a mapping of student_id to student information. Directly accessing the property of the object with studentMap[101] retrieves the student efficiently.