タグ付けされた質問 「data-structures」

データ構造は、データの特定のプロパティを効率的に照会および/または更新できるようにデータを編成する方法です。

9
メモリ内でヘクタイル/ヘックスグリッドを表すにはどうすればよいですか?
カタンの開拓者のように、ヘクタイルグリッドでボードゲームを構築しているとします。 各頂点とエッジには属性(上記の道路と集落)がある場合があることに注意してください。 このボードを表すデータ構造をどのように作成しますか?各タイルの隣接、エッジ、および頂点にアクセスするためのパターンは何ですか?

17
SQLクエリの結果をPANDASデータ構造に変換する方法
この問題に関するどんな助けでも大歓迎です。 したがって、基本的には、SQLデータベースに対してクエリを実行し、返されたデータをPandasデータ構造として保存します。 クエリ用のコードを添付しました。 パンダのドキュメントを読んでいますが、クエリの戻り値のタイプを特定するのに問題があります。 クエリ結果を印刷しようとしましたが、有用な情報がありません。 ありがとう!!!! from sqlalchemy import create_engine engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING') connection2 = engine2.connect() dataid = 1022 resoverall = connection2.execute(" SELECT sum(BLABLA) AS BLA, sum(BLABLABLA2) AS BLABLABLA2, sum(SOME_INT) AS SOME_INT, sum(SOME_INT2) AS SOME_INT2, 100*sum(SOME_INT2)/sum(SOME_INT) AS ctr, sum(SOME_INT2)/sum(SOME_INT) AS cpc FROM daily_report_cooked WHERE campaign_id = …

16
上位10の検索用語を見つけるアルゴリズム
私は現在インタビューの準備をしていますが、前回のインタビューで一度尋ねられた質問を思い出しました。 「Googleで上位10の検索語を継続的に表示するソフトウェアを設計するように求められました。Googleで現在検索されている検索語の無限のリアルタイムストリームを提供するフィードへのアクセス権が与えられます。どのアルゴリズムとデータ構造を説明してくださいこれを実装するには、次の2つのバリエーションを設計します。 (i)すべての時間(つまり、フィードの読み取りを開始してから)の上位10の検索語を表示します。 (ii)毎月更新された、過去1か月の上位10の検索用語のみを表示します。 概算を使用して上位10のリストを取得できますが、選択を正当化する必要があります。」 私はこのインタビューで爆破しましたが、これを実装する方法はまだまったくわかりません。 最初の部分では、無限リストの継続的に成長するサブシーケンスで最も頻繁に使用される10個のアイテムを要求します。選択アルゴリズムを調べましたが、この問題を解決するためのオンラインバージョンが見つかりませんでした。 2番目の部分では有限のリストを使用しますが、大量のデータが処理されるため、1か月分の検索語をメモリに格納して1時間ごとにヒストグラムを計算することはできません。 トップ10リストが継続的に更新されているため、問題はさらに困難になっているため、スライディングウィンドウでトップ10を計算する必要があります。 何か案は?

27
二分木がバランスしているかどうかを判断するにはどうすればよいですか?
あの学校時代から久しぶりですね。病院でITスペシャリストとして仕事を得ました。今実際のプログラミングをするために移動しようとしています。現在、バイナリツリーに取り組んでおり、ツリーが高さのバランスが取れているかどうかを判断する最良の方法は何だろうと思っていました。 私はこれに沿って何かを考えていました: public boolean isBalanced(Node root){ if(root==null){ return true; //tree is empty } else{ int lh = root.left.height(); int rh = root.right.height(); if(lh - rh > 1 || rh - lh > 1){ return false; } } return true; } これは良い実装ですか?または私は何かを逃していますか?

30
最適な方法で二分探索木のk番目に小さい要素を見つける
静的/グローバル変数を使用せずに、バイナリ検索ツリーでk番目に小さい要素を見つける必要があります。それを効率的に達成する方法は?私が心に留めている解決策は、O(n)で操作を実行することです。これは、ツリー全体を順不同に走査することを計画しているため、最悪のケースです。しかし、ここのBSTプロパティは使用していないようです。私の仮定の解決策は正しいですか、それともより良い解決策がありますか?

5
LinkedBlockingQueueとConcurrentLinkedQueue
私の質問は、以前に尋ねたこの質問に関連しています。プロデューサースレッドとコンシューマースレッド間の通信にキューを使用している状況では、一般的に人々は、LinkedBlockingQueueまたはConcurrentLinkedQueue? どちらを使用する場合の利点/欠点は何ですか? APIの観点から見ることができる主な違いは、LinkedBlockingQueueオプションで境界を設定できることです。

5
YAML配列をマージする方法は?
YAMLで配列をマージし、ruby経由でロードしたい- some_stuff: &some_stuff - a - b - c combined_stuff: <<: *some_stuff - d - e - f 私は結合された配列を次のようにしたいのですが [a,b,c,d,e,f] エラーを受け取ります:ブロックマッピングの解析中に予期したキーが見つかりませんでした YAMLで配列をマージするにはどうすればよいですか?

8
一般的なデータ構造を持つオープンソースのCライブラリはありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 リンクリスト、ハッシュテーブルなどの一般的な再利用可能なデータ構造を備えたCライブラリを探しています。KyleLoudonによるC(ペーパーバック)のマスタリングアルゴリズムで配布されたソースのようなもの。
111 c  data-structures 

3
Firebaseでデータを構造化する最良の方法は何ですか?
私はFirebaseを使い始めたばかりですが、Firebaseでデータを構造化するための最良の方法を知りたいです。 私は簡単な例を持っています: 私のプロジェクトには応募者と応募者がいます。1人の申請者が複数の申請を行うことができます。この2つのオブジェクトをFirebaseで関連付けるにはどうすればよいですか?リレーショナルデータベースのように機能しますか?または、アプローチはデータ設計の点で完全に異なる必要がありますか?

15
リンクされたリストはどのような状況で役立ちますか?
ほとんどの場合、リンクされたリストを使用しようとする人がいますが、私には選択が悪い(または非常に悪い)ように思えます。おそらく、リンクされたリストがデータ構造の適切な選択である、またはそうでない状況を調査することは有用でしょう。 理想的には、データ構造の選択に使用する基準、および特定の状況でどのデータ構造が最適に機能する可能性が高いかについて回答が説明されます。 編集:私は言わなければなりません、私は数だけでなく答えの質にもかなり感銘を受けました。私は1つしか受け入れることができませんが、もう少し良いものがなかったら、受け入れる価値があったと言えるでしょう。リンクされたリストが真の利点を提供する状況を指摘したカップル(特に、私が最終的に受け入れたもの)のみ。スティーブジェソップは、1つだけでなく3つの異なる答えを思いついたので、何らかの名誉ある言及に値すると思います。もちろん、回答ではなくコメントとしてのみ投稿されていたとしても、Neilのブログエントリも一読の価値があると思います。

30
2つのポインタのみを使用して、単一リンクリストを逆にする方法は?
2つのポインタのみを使用して、単一リンクリストを逆にするロジックが存在するのだろうか。 以下は、すなわち3つのポインタを使用して、単一リンクリストを反転させるために使用されp、q、r: struct node { int data; struct node *link; }; void reverse() { struct node *p = first, *q = NULL, *r; while (p != NULL) { r = q; q = p; p = p->link; q->link = r; } first = q; } リンクされたリストを逆にする他の代替はありますか?時間の複雑さの観点から、単一にリンクされたリストを逆にするための最良のロジックは何でしょうか?

5
ブルームフィルターを使用する利点は何ですか?
私はブルームフィルターについて読んでいますが、ばかげているように見えます。ブルームフィルターで達成できることは何でも、複数のスペースではなく1つのハッシュ関数を使用して、より少ないスペースで、より効率的に達成することができます。なぜブルームフィルターを使用するのですか?



4
Pythonでのグラフ(データ構造)の表現
どうすればPythonでグラフをきれいに表現できますか?(最初から、つまりライブラリがない場合!)どのデータ構造(たとえば、dicts / tuples / dict(tuples))が高速で、メモリ効率も良いでしょうか?さまざまなグラフ操作を実行できる必要があります。 指摘したように、さまざまなグラフ表現が役立つ場合があります。それらをPythonに実装するにはどうすればよいですか?ライブラリに関しては、この質問はかなり良い答えを持っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.