これはばかげた質問かもしれませんが、アルゴリズムの1つの複雑さを計算したいので、memmove()関数でどの複雑さを考慮すべきかわかりません。
助けて/説明してもらえますか?
void * memmove ( void * destination, const void * source, size_t num );
複雑さO(num)またはO(1)も同様です。O(num)だと思いますが、今のところ内部で何が起こっているのか理解していないのでわかりません。
これはばかげた質問かもしれませんが、アルゴリズムの1つの複雑さを計算したいので、memmove()関数でどの複雑さを考慮すべきかわかりません。
助けて/説明してもらえますか?
void * memmove ( void * destination, const void * source, size_t num );
複雑さO(num)またはO(1)も同様です。O(num)だと思いますが、今のところ内部で何が起こっているのか理解していないのでわかりません。
の実行時間はmemmove
、移動する必要のあるバイト数に正比例して増加するため、O(n)になります。
memmove()
アルゴリズムで選択された要素またはそれらすべてに操作を適用しますか?memmove()
要素に複数回適用していますか?
これらは、アルゴリズムの複雑さに関係するものです。
その答えは、(O(n)操作である)を扱う要素 memmove()
の配列に関するそれ自体の複雑さとは異なる場合があります。char
memmove()
memmove()