私は非常に長い整数より大きいこのカスタム追加クラスを作成しようとしています。私が調べているアプローチの1つは、文字列として整数を保持してから、文字をintコンポーネントに変換し、各「列」を追加することです。私が検討している別のアプローチは、長い文字列のサイズである複数の文字列に文字列を分割し、長い文字列ストリームを使用してそれを追加して再結合することです。文字列の挿入の効率
私は、数字の持ち越しを可能にするために、逆順で最も簡単に追加が行われたという事実を知りました。これは私が文字列の挿入メソッドの効率を疑問に思っていた場合です。文字列はすべての文字が1つ以上の文字にシフトされなければならない文字の配列であるようです。だからそれは変わるだろうが、効率はO(n)と思われる。ここで、nは文字列中の文字数である。
これは正しいのですか、これは純粋な解釈でのみですか?
編集:今私の質問に答えているが、より効率的な関連トピックについては、ストリングをストリームに挿入してからintに抽出することに不思議に思っていた。または10^n * char1 + 10^n-1 * char2 ...などの処理をしますか?
表示に効率の良い形式で保管しないでください。操作に効率的な形式で保管してください。表示したいときだけ、文字列に変換する必要があります。 – dreamlax
ホイールを改造しないでください。既に大きな整数を実装しているライブラリがあります。これははるかに効率的で、すでにテスト済みです! – amit
私はgmpライブラリをダウンロードしました、私はちょうどそれを動作させる方法を知らない。プラス私はこのようなものをやっていることがビットと効率と他のものについてもっと学ぶのを助けると思う。皆さんがそうでなければ私は他の提案に移行することを嬉しく思っています。 – emschorsch