タグ付けされた質問 「user-interface」

2
可能な限り多くのスペースをカバーするように画面上の(サイズ変更可能な)ウィンドウを配置するアルゴリズムを考案する方法は?
一連のウィンドウ(幅+高さ)と画面解像度を受け入れ、ウィンドウが最大のスペースを占めるように画面上のそれらのウィンドウの配置を出力する単純なプログラムを作成したいと思います。したがってoutput size >= initial size、アスペクト比を維持しながら、ウィンドウのサイズを変更できます 。したがって、ウィンドウiii場合、アルゴリズムがタプルを返すようにします(x,y,width,height)(x,y,width,height)(x, y, width, height)。 これは2Dナップザックのバリエーションかもしれません。私はウェブ上の結果を調べてみましたが、それらはほとんど私が従うことを困難にした多くのバックグラウンド(そして実装なし)を持っていました。 最速のアルゴリズムにはあまり興味がありませんが、特定のニーズに合った実用的なものに興味があります。

2
記憶に残るIPv6アドレスの弱いハッシュ関数
IPv6の形式のIPv6アドレスは、862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0IPv4の4オクテットよりも記憶や転記がはるかに困難です。 これを緩和する試みが 行われ、IPv6アドレスがより記憶に残るものになっています。 「これは比較的無害であり、支払う価値がないように曲げられている場合、これは比較的無害であり、見つけやすい」というフレーズがターゲットIPv6アドレスにハッシュされることを見つけるために逆にできる意図的に弱いハッシュ関数はありますか?もちろん、ハッシュには衝突する入力が多数あり、この例のフレーズのように、記憶に残る可能性のある文が自動的に提供される可能性があります。 私は2つの部分があると思います:最初に、両方の方向に良い分布を持つ弱いハッシュ。2つ目は、多くの衝突(短い、指定された言語の単語で構成され、場合によっては簡略化された文法に従う)から覚えやすいフレーズを選択するためのアルゴリズムです。 ハッシュ関数は弱くする必要がありますが、努力がまだ重要であることは間違いありません。ただし、フレーズがわかると、ターゲットアドレスへのハッシュの計算は非常に高速になります。 編集 私は、πのいくつかの数字を記憶するために、この関連するアイデア、Piphilologyを見つけました。 量子力学を含む激しい講義の後、もちろんアルコール飲料をどうやって望むか!

3
キーボードエコー中にCPUが関与するのはなぜですか?
現在、コンピューターサイエンスの試験に向けて勉強していて、やや困惑している概念に出くわしました。 キーボードでキーを入力すると、ASCII文字がCPUに送信されます。この文字を受け取ると、CPUは同じ文字を画面に出力します。このプロセスはエコーと呼ばれます。CPUを使用する代わりに、このエコープロセスをキーボード/スクリーンユニット内で実行して、CPUが他の有用な作業を自由に行えるようにしないのはなぜですか。 今、直感的には、キーボード/画面ユニットが定義されておらず、CPUが相互接続ネットワークを介して画面とキーボードの間の通信を担当するデバイスであるためです。しかし、キーボード/スクリーンユニットが言及されているという事実は、重要な概念が欠けていることを意味しているように感じるかもしれません。これは事実ですか?なぜエコープロセスにCPUを使用するのですか?

1
ウィンドウが表示されている画面を表すための効率的なクエリ可能なデータ構造
(これは私の他の質問に関連しています、ここを参照してください) 3つのウィンドウがある画面を想像してください。 これらをサポートしながら、これを表す効率的なデータ構造を見つけたいのですが。 特定のウィンドウを他のウィンドウと重複せずに配置できる座標のリストを返します 上記の例で、サイズ2x2のウィンドウを挿入する場合、可能な位置は(8、6)、(8、7)、..になります。 アスペクト比を維持しながら、他のウィンドウと重ならないように画面上のウィンドウのサイズを変更する x、yの位置にウィンドウを挿入します(ウィンドウが重ならない場合) 今の私の素朴なアプローチは、ウィンドウの配列を維持し、画面上のすべてのポイントを調べて、ウィンドウのいずれかにあるかどうかをチェックすることです。これは、ここで、画面の幅、高さであり、それにウィンドウの数です。一般に、各ウィンドウが多くのスペースをとる場合、は小さくなります(たとえば、<10)。O (N ⋅ M ⋅ W )O(ん⋅メートル⋅w)O(n\cdot m\cdot w)n 、mん、メートルn, mwwwwww
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.