Background
A dictionary is an abstract data type that stores and supports lookup of key, value pairs. For example, in a telephone directory, the (string) key is a person or company name, and the value is the phone number. In a student record lookup, the key would be a student ID number and the value would be a complex structure containing all the other information about the student.
In this assignment, you will create a simple dictionary based on a linked list to store information from a dataset about the City of Melbourne. A user will be able to search this dictionary to retrieve information about cafes in Melbourne using attributes in the dataset (keys).
Your implementation will build the dictionary by reading the data from a file and inserting each cafe record as a node in a linked list. You will also implement a method to search for a key in the list, outputting any records that match the key. Note that keys are not guaranteed to be unique!
The dataset comes from the City of Melbourne Open Data website, which provides a variety of data about Melbourne that you can explore and visualise online:
The dataset used in this project is a subset of the Cafes and Restaurants with Seating Capacity dataset.
The processed dataset can be found in the Dataset Download slide. You aren’t expected to perform this processing yourself.
程序代写 CS代考 加微信: cstutorcs
The provided dataset has the following 14 fields:
census_year
property_id
base_property_id
building_address
clue_small_area
business_address
trading_name
industry_code
industry_description – The description of the category of the business. (string)
seating_type
number_of_seats
– The type of seating the record describes. (string)
– The number of seats provided of this type. (integer)
– The longitude (x) of the seating location. (double)
– The latitude (y) of the seating location. (double)
– The year the information was recorded for (integer)
– The city block ID. (integer)
– The ID of the property. (integer)
– The ID of the building the business is in. (integer)
– The address of the building. (string)
– The CLUE area of Melbourne that the building is in. (string)
– The address of the business itself. (string)
– The name of the business. (string)
– The ID for the category of the business. (integer)
The fields building_address, clue_small_area, business_address, trading_name, industry_description and seating_type are strings, and could contain spaces or commas. You may assume none of these fields are more than 128 characters long. The fields census_year , block_id, property_int, base_property_id, industry_code and number_of_seats are integers, you may assume they are always specified and present. The fields longitude and latitude are double values, you should store them so that they can be printed correctly to 5 decimal places.
This data is in CSV format, with each field separated by a comma. For the purposes of the assignment, you may assume that:
• the input data are well-formatted,
• input files are not empty,
• input files include a header,
• any field containing a comma will begin with a double quotation mark (“) and end with a quotation mark (“),
• each field contains at least one character,
• fields always occur in the order given above, and that
• the maximum length of an input record (a single full line of the CSV) is 512 characters.
Where a string contains a comma, the usual CSV convention will be followed that such strings will be delimited with a quotation mark (always found at the beginning and end of the field) — these quotes should not be preserved once the data is read into its field. You may assume no quotes are present in the processed strings when they are stored in your dictionary.
Smaller samples of these datasets can be found in the Dataset Download slide.
Code Help, Add WeChat: cstutorcs