How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners?

이 강좌는 Object Oriented Java Programming: Data Structures and Beyond 전문 분야의 일부입니다.

# Advanced Data Structures in Java

제공자:

## About this Course

### 학습자 경력 결과

## 36%

## 39%

## 20%

#### 공유 가능한 수료증

#### 100% 온라인

#### 다음 전문 분야의 5개 강좌 중 3번째 강좌:

#### 유동적 마감일

#### 중급 단계

#### 완료하는 데 약 28시간 필요

#### 영어

### 귀하가 습득할 기술

### 학습자 경력 결과

## 36%

## 39%

## 20%

#### 공유 가능한 수료증

#### 100% 온라인

#### 다음 전문 분야의 5개 강좌 중 3번째 강좌:

#### 유동적 마감일

#### 중급 단계

#### 완료하는 데 약 28시간 필요

#### 영어

### 제공자:

#### 캘리포니아 샌디에고 대학교

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory.

## 강의 계획 - 이 강좌에서 배울 내용

**완료하는 데 2시간 필요**

## Introduction to the Course

Welcome to the first week in the third course of our Intermediate Java Programming Specialization. Once again start with introductions, and in particular introduce the unique structure of this course. Also, if you're not sure if this course is right for you, we've got an optional pre-course quiz coming right up that can help you figure out if you're in the right place. If you decide to stay with us (and we really hope you will!) we've got a great backbone project for you: your very own mapping application, inspired by Google Maps! The core data structure throughout this course is graphs, which may very well be the most fundamental data structure in all of computer science. Ready to begin? So are we!

**완료하는 데 2시간 필요**

**10개의 읽기 자료**

**3개 연습문제**

**완료하는 데 5시간 필요**

## Introduction to Graphs

This week we'll start getting technical, introducing you to the central data structure in the course: Graphs. You'll learn the basics and then have a chance to dive in a little deeper into the code, getting ready to start building that Google Maps-like application.

**완료하는 데 5시간 필요**

**17개의 동영상**

**7개의 읽기 자료**

**3개 연습문제**

**완료하는 데 8시간 필요**

## Class design and simple graph search

This week you'll get the backbone of your map search engine up and running. In previous courses, including the previous courses in this specialization, you've probably been given most of the classes you needed to complete the assignments. But learning how to design classes from scratch is a key skill that you will need as you become a more sophisticated Java programmer. This week we'll give you the tools you need to create a robust and elegant class design for your map search engine. We'll introduce a similar problem and show you how it can be represented as a graph. Then we'll introduce two core search algorithms: depth-first search and breadth-first search. Finally, we'll turn our graph problem into a set of Java classes. Your task on the programming assignment this week will be to do the same thing, but in the context on the map search engine!

**완료하는 데 8시간 필요**

**20개의 동영상**

**3개의 읽기 자료**

**2개 연습문제**

**완료하는 데 6시간 필요**

## Finding shortest paths in weighted graphs

In the past two weeks, you've developed a strong understanding of how to design classes to represent a graph and how to use a graph to represent a map. In this week, you'll add a key feature of map data to our graph representation -- distances -- by adding weights to your edges to produce a "weighted graph". Although this might seem like a small change, the algorithms that work for unweighted graphs may prove ineffective for weighted graphs. To address this problem, you'll explore more advanced shortest path algorithms. First, you'll see how to find the shortest path on a weighted graph, then you'll see how to find it more quickly. In the project, you'll apply these ideas to create the core of any good mapping application: finding the shortest route from one location to another.

**완료하는 데 6시간 필요**

**10개의 동영상**

**4개의 읽기 자료**

**1개 연습문제**

### 검토

#### 4.8

##### ADVANCED DATA STRUCTURES IN JAVA의 최상위 리뷰

Great into to Java, instructors have clearly put thought in to the format with the choose your own learning style videos, and additional coverage where it may be needed. These have been very helpful.

Fantastic course! I would recommend to anyone interested in learning the graph data structure in a fun and hands-on and engaging way! Definitely one of the best courses I have followed on Coursera.

Excellent course. I have a 32 year old CS degree and needed a Java Course which did not cover the basics of programming but rather covered advanced CS topics in a Java Context. This is the course.

Splendidly covers path finding basics. Enjoyed the course.\n\nIt would be great to go into advanced algorithms useful for programming challenges (like SPOJ) with the same instructors.

This course was excellent! I learned so much and I am now able to understand the significance of knowing how Algorithms and Data Structures are related in a practical way. I

The map exercise that was used throughout this course was wonderful- it really helped me apply these concepts and algorithms to a real-world example that I could understand.

Very good course on graphs with some challenging projects. These really helped me nail down the concepts and get a deeper understanding of algorithms and data structures.

The material was incredibly interesting, but Week 4 was super, super hard. I think their needs to be additional support material on Dijkstra and AStarSearch algorithms.

Very nice course for clearing the concept of the advanced search algorithm and applying them in the real world scenario. Well designed course and programming materials.

This was the hardest course I've taken so far, and I think I've learned the most from it. If, like me, you're self-taught, I guarantee you'll benefit from this course.

At first the course is hands on, later on it becomes more of theory. This would have been a challenging course if we had more harder graph problems to solve though.

As I keep completing the assignment, I got more confident on my Java and debugging skills. I would recommend solidifying your undestanding of the Data Structures

Easy to Understand. Beautiful Course. Interesting Assignments and Quiz. Will help in my Career. Good Job by Google Engineers ,Coursera Team and the University.

This was an excellent course for those looking to learn more about graphs (and to get experience in coding graphs in Java). The UCSD instructors are excellent.

I have learned so much from you and I look forward to learning more. Thank you for being a remarkable teacher and I am very grateful to have you as a teacher.

Pretty challenging but very interesting with a lot of useful assignments. Certainly good for those who aren't familiar with a data structure called graphs.

I like this course. It helps me to break my fear of using complex data structure. It changed my approach to complex problems. Thanks to the Instructors :)

Good class. New to Java and this was a nice and manageable intro with some solid usable algorithmic practice thrown in. Only took about a week and a half.

This is a really useful course. The project is quite relevant, and the work with breadth first search, Dijkstra, and A* Search are really interesting!

Very good introduction to advanced data structures in Java. This course is well designed and organized according to the cognitive psychology. Thanks!

## Object Oriented Java Programming: Data Structures and Beyond 전문 분야 정보

## 자주 묻는 질문

강의 및 과제를 언제 이용할 수 있게 되나요?

강좌에 등록하면 바로 모든 비디오, 테스트 및 프로그래밍 과제(해당하는 경우)에 접근할 수 있습니다. 상호 첨삭 과제는 이 세션이 시작된 경우에만 제출하고 검토할 수 있습니다. 강좌를 구매하지 않고 살펴보기만 하면 특정 과제에 접근하지 못할 수 있습니다.

이 전문 분야를 구독하면 무엇을 이용할 수 있나요?

강좌를 등록하면 전문 분야의 모든 강좌에 접근할 수 있고 강좌를 완료하면 수료증을 취득할 수 있습니다. 전자 수료증이 성취도 페이지에 추가되며 해당 페이지에서 수료증을 인쇄하거나 LinkedIn 프로필에 수료증을 추가할 수 있습니다. 강좌 내용만 읽고 살펴보려면 해당 강좌를 무료로 청강할 수 있습니다.

환불 규정은 어떻게 되나요?

재정 지원을 받을 수 있나요?

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.