TIL 2021.06.01[資料構造/リンクリスト][Arbnb/地図]
8164 ワード
Linked List
リンクリストは、商品セットを保存するためのデータ構造です.
How to implement
たとえば、intを含む接続ボックスが次のようにあるとします.
次に、このボックスをjavaコードで実装します.以下に示します.class Box {
int data; // ---- (1)
Box next; // ---- (2)
}
(1)-箱の中がIntであれStringであれ、対象であれ.ここでまずintを使います
(2)-箱は次の箱を指します.
6が入った最初の箱をhead
と名付けた.
ではhead.data
は6head.next.data
で次の箱のデータを指すので3です.
4が入っている箱をmiddle
と呼ぶと、middle.next
は2が入っている箱を指す.
ジェネレータを含むBoxクラスを作成します.class Box {
int data;
Box next;
Box(int givenData) {
this.data = givenData;
}
}
でも一般的にこのBoxをNodeと言いますフィールド名とともに行うジェネレータパラメータ会議もあります.もう一度やろうclass Node {
int data;
Node next;
Node(int data) {
this.data = data;
}
}
今私たちはこれを使って箱を作って、中に最初に展示された数字が入っています.
ジェネレータを使用して次のように作成します.Node nodeA = new Node(6);
Node nodeA = new Node(3);
Node nodeA = new Node(4);
Node nodeA = new Node(2);
Node nodeA = new Node(1);
しかし、そうすれば、箱ごとに既製です.
接続するには、次のように各ノードにnextを指定します.nodeA.next = nodeB;
nodeB.next = nodeC;
nodeC.next = nodeD;
nodeD.next = nodeE;
しかし、実際には、このようにするのは明らかに限界があり、少し気まずいように見えます.
どうすればいいの?
これを担当するLinkedList
の名前でクラスを作って解決します.public class LinkedList {
private Node head;
public LinkedList() {
head = null;
}
public void insertNode(int data) {
Node newNode = new Node(data);
preNode.next = newNode;
}
}
現在作成されているメソッドを使用して、ノードを順に作成します.
リファレンス
https://youtu.be/WwfhLC16bis
https://freestrokes.tistory.com/84
Airbnbプロジェクト
地図にリストを表示する
フロントは地図APIを利用して、位置によって、寮のリストをリストアップします.
最初は緯度と経度だけを考えて招待があればどうすればいいか考えていましたが...
どんな基準でこの質問に答えるべきか考えました.
たとえば、表示している地図の中心座標が(30,30)の場合.
どんな基準で皆さんに寮を見せますか?
ニンジン使用者が見た場所の寮を全部送ってくれればいいです.
しかし、中心座標からどのくらい離れているか分かりません.
GoogleマップAPIでは、スケーリングが16段階に分かれています.
16歩目ごとに座標の距離が得られるそうです.
だからこれを基準に
たとえば、基準が10の場合は、中心座標に対応するすべての+-10を入力します.
あ、しかもDouble間の4つの演算浮動小数点演算はやはり何らかの原因で誤差が出ているのでBigDecimalを使う必要があります
最初はどうやってテレビでこれを探求するか考えていましたが、
私は少し時間をかけて図の上で探して、SQL文法がすぐに問題を解決することができることを発見しました.ハハハ(https://github.com/kyu-kim-kr/airbnb/issues/63#issuecomment-851908216)
それ以外は
最近はたるんでいるようで、リラックスするために一日の計画を大まかに立てておきました.
計画とはちょっと違うけど…
その結果は.
効果満点!
集中度の高い一日でした.
どれくらい続けられるか分からない
Reference
この問題について(TIL 2021.06.01[資料構造/リンクリスト][Arbnb/地図]), 我々は、より多くの情報をここで見つけました
https://velog.io/@kyukim/20210601
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
class Box {
int data; // ---- (1)
Box next; // ---- (2)
}
class Box {
int data;
Box next;
Box(int givenData) {
this.data = givenData;
}
}
class Node {
int data;
Node next;
Node(int data) {
this.data = data;
}
}
Node nodeA = new Node(6);
Node nodeA = new Node(3);
Node nodeA = new Node(4);
Node nodeA = new Node(2);
Node nodeA = new Node(1);
nodeA.next = nodeB;
nodeB.next = nodeC;
nodeC.next = nodeD;
nodeD.next = nodeE;
public class LinkedList {
private Node head;
public LinkedList() {
head = null;
}
public void insertNode(int data) {
Node newNode = new Node(data);
preNode.next = newNode;
}
}
地図にリストを表示する
フロントは地図APIを利用して、位置によって、寮のリストをリストアップします.
最初は緯度と経度だけを考えて招待があればどうすればいいか考えていましたが...
どんな基準でこの質問に答えるべきか考えました.
たとえば、表示している地図の中心座標が(30,30)の場合.
どんな基準で皆さんに寮を見せますか?
ニンジン使用者が見た場所の寮を全部送ってくれればいいです.
しかし、中心座標からどのくらい離れているか分かりません.
GoogleマップAPIでは、スケーリングが16段階に分かれています.
16歩目ごとに座標の距離が得られるそうです.
だからこれを基準に
たとえば、基準が10の場合は、中心座標に対応するすべての+-10を入力します.
あ、しかもDouble間の4つの演算浮動小数点演算はやはり何らかの原因で誤差が出ているのでBigDecimalを使う必要があります
最初はどうやってテレビでこれを探求するか考えていましたが、
私は少し時間をかけて図の上で探して、SQL文法がすぐに問題を解決することができることを発見しました.ハハハ(https://github.com/kyu-kim-kr/airbnb/issues/63#issuecomment-851908216)
それ以外は
最近はたるんでいるようで、リラックスするために一日の計画を大まかに立てておきました.
計画とはちょっと違うけど…
その結果は.
効果満点!
集中度の高い一日でした.
どれくらい続けられるか分からない
Reference
この問題について(TIL 2021.06.01[資料構造/リンクリスト][Arbnb/地図]), 我々は、より多くの情報をここで見つけました
https://velog.io/@kyukim/20210601
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(TIL 2021.06.01[資料構造/リンクリスト][Arbnb/地図]), 我々は、より多くの情報をここで見つけました https://velog.io/@kyukim/20210601テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol