ਐਲਗੋਰਿਦਮ ਜਟਿਲਤਾ ਮੁੱਖ ਤੌਰ 'ਤੇ ਦੋ ਸਰੋਤਾਂ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਦੀ ਹੈ:
ਸਮਾਂ
(ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੀ ਮਿਆਦ) ਅਤੇ
ਸਪੇਸ
(ਯਾਦਦਾਸ਼ਤ ਦੀ ਵਰਤੋਂ)। ਜਦੋਂ ਕਿ ਸਮੇਂ ਦੀ ਜਟਿਲਤਾ ਮਾਪਦੀ ਹੈ ਕਿ ਇਨਪੁਟ ਆਕਾਰ ਦੇ ਨਾਲ ਰਨਟਾਈਮ ਕਿਵੇਂ ਵਧਦਾ ਹੈ (
ਐਨ
), ਸਪੇਸ ਜਟਿਲਤਾ ਮੈਮੋਰੀ ਖਪਤ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦੀ ਹੈ। ਉਦਾਹਰਣ ਲਈ:
- ਇੱਕ ਐਲਗੋਰਿਦਮ ਜਿਸ ਨਾਲ
ਓ(ਐਨ)
ਸਮੇਂ ਦੀ ਜਟਿਲਤਾ ਇਨਪੁੱਟ ਆਕਾਰ ਦੇ ਨਾਲ ਰੇਖਿਕ ਤੌਰ 'ਤੇ ਸਕੇਲ ਕਰਦੀ ਹੈ।
- ਇੱਕ ਐਲਗੋਰਿਦਮ ਜਿਸ ਨਾਲ
O(1)
ਸਪੇਸ ਜਟਿਲਤਾ ਇਨਪੁਟ ਆਕਾਰ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਨਿਰੰਤਰ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ।
ਦੋਵੇਂ ਮਾਪਦੰਡ ਜ਼ਰੂਰੀ ਹਨ। ਇੱਕ ਤੇਜ਼ ਐਲਗੋਰਿਦਮ ਵੱਡੇ ਡੇਟਾਸੈਟਾਂ 'ਤੇ ਮੈਮੋਰੀ ਨੂੰ ਖਤਮ ਕਰ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਇੱਕ ਮੈਮੋਰੀ-ਕੁਸ਼ਲ ਐਲਗੋਰਿਦਮ ਰੀਅਲ-ਟਾਈਮ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਬਹੁਤ ਹੌਲੀ ਹੋ ਸਕਦਾ ਹੈ।
ਕੁਸ਼ਲਤਾ ਵਿਵਹਾਰਕਤਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ। 10 ਮਿਲੀਅਨ ਦੇ ਮੁਕਾਬਲੇ 10 ਚੀਜ਼ਾਂ ਦੀ ਸੂਚੀ ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ:
- A
ਬੁਲਬੁਲਾ ਛਾਂਟਣਾ
(
ਓ(ਐਨ)
) ਛੋਟੇ ਡੇਟਾਸੈੱਟਾਂ ਲਈ ਕਾਫ਼ੀ ਹੋ ਸਕਦਾ ਹੈ ਪਰ ਵੱਡੇ ਡੇਟਾਸੈੱਟਾਂ ਲਈ ਅਵਿਵਹਾਰਕ ਹੋ ਜਾਂਦਾ ਹੈ।
- A
ਮਰਜ ਸੌਰਟ
(
O(n ਲਾਗ n)
) ਵੱਡੇ ਡੇਟਾਸੈੱਟਾਂ ਨੂੰ ਸੁੰਦਰਤਾ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ ਪਰ ਵਾਧੂ ਮੈਮੋਰੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਜਟਿਲਤਾ ਵਿਸ਼ਲੇਸ਼ਣ ਐਲਗੋਰਿਦਮ ਦੀ ਤੁਲਨਾ ਕਰਨ ਲਈ ਇੱਕ ਵਿਆਪਕ ਭਾਸ਼ਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਹਾਰਡਵੇਅਰ-ਵਿਸ਼ੇਸ਼ ਵੇਰਵਿਆਂ ਨੂੰ ਦੂਰ ਕਰਦਾ ਹੈ। ਇਹ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਸਕੇਲੇਬਿਲਟੀ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰਨ ਅਤੇ ਨਾਜ਼ੁਕ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ ਰੁਕਾਵਟਾਂ ਤੋਂ ਬਚਣ ਲਈ ਸ਼ਕਤੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਅਸਿੰਪਟੋਟਿਕ ਸੰਕੇਤ ਫੰਕਸ਼ਨਾਂ ਦੇ ਸੀਮਤ ਵਿਵਹਾਰ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹਨ, ਜਟਿਲਤਾ ਲਈ ਇੱਕ ਸ਼ਾਰਟਹੈਂਡ ਪੇਸ਼ ਕਰਦੇ ਹਨ। ਤਿੰਨ ਮੁੱਖ ਸੰਕੇਤ ਹਨ:
ਵੱਡਾ O ਸੰਕੇਤ ਇੱਕ ਐਲਗੋਰਿਦਮ ਨੂੰ ਲੱਗਣ ਵਾਲਾ ਵੱਧ ਤੋਂ ਵੱਧ ਸਮਾਂ ਜਾਂ ਜਗ੍ਹਾ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਣ ਦੇ ਲਈ:
-
O(1)
: ਸਥਿਰ ਸਮਾਂ (ਜਿਵੇਂ ਕਿ, ਸੂਚਕਾਂਕ ਦੁਆਰਾ ਇੱਕ ਐਰੇ ਤੱਤ ਤੱਕ ਪਹੁੰਚ ਕਰਨਾ)।
-
ਓ(ਐਨ)
: ਰੇਖਿਕ ਸਮਾਂ (ਜਿਵੇਂ ਕਿ, ਇੱਕ ਸੂਚੀ ਰਾਹੀਂ ਦੁਹਰਾਉਣਾ)।
-
ਓ(ਐਨ)
: ਚਤੁਰਭੁਜ ਸਮਾਂ (ਉਦਾਹਰਨ ਲਈ, ਬੁਲਬੁਲੇ ਵਰਗੀਕਰਣ ਵਿੱਚ ਨੇਸਟਡ ਲੂਪਸ)।
ਬਿਗ ਓ ਸਭ ਤੋਂ ਵੱਧ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਮਾਪਦੰਡ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਪ੍ਰਦਰਸ਼ਨ ਦੀਆਂ ਸੀਮਾਵਾਂ ਦੀ ਗਰੰਟੀ ਦਿੰਦਾ ਹੈ।
ਓਮੇਗਾ ਲੋੜੀਂਦੇ ਘੱਟੋ-ਘੱਟ ਸਮੇਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਣ ਲਈ:
- ਇੱਕ ਰੇਖਿਕ ਖੋਜ ਵਿੱਚ ਹੈ
(1)
ਜੇਕਰ ਟੀਚਾ ਪਹਿਲਾ ਤੱਤ ਹੈ।
ਜਦੋਂ ਕਿ ਆਸ਼ਾਵਾਦੀ ਹੈ, ਸਭ ਤੋਂ ਵਧੀਆ-ਕੇਸ ਵਿਸ਼ਲੇਸ਼ਣ ਸਭ ਤੋਂ ਮਾੜੇ-ਕੇਸ ਦੀ ਯੋਜਨਾਬੰਦੀ ਲਈ ਘੱਟ ਜਾਣਕਾਰੀ ਭਰਪੂਰ ਹੈ।
ਥੀਟਾ ਬਿਗ ਓ ਅਤੇ ਓਮੇਗਾ ਨੂੰ ਜੋੜਦਾ ਹੈ, ਜੋ ਕਿ ਬਿਲਕੁਲ ਅਸਿੰਪਟੋਟਿਕ ਵਿਵਹਾਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਜੇਕਰ ਐਲਗੋਰਿਦਮ ਸਭ ਤੋਂ ਵਧੀਆ ਅਤੇ ਸਭ ਤੋਂ ਮਾੜੇ ਮਾਮਲੇ ਇੱਕੋ ਜਿਹੇ ਹਨ:
-
(n ਲਾਗ n)
ਔਸਤ ਅਤੇ ਸਭ ਤੋਂ ਮਾੜੇ ਹਾਲਾਤਾਂ ਨੂੰ ਮਿਲਾਉਣ ਲਈ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।
ਇਹ ਸੰਕੇਤ ਵਿਕਾਸ ਦਰਾਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਤ ਕਰਦੇ ਹੋਏ, ਦੂਰ ਸਥਿਰਾਂਕਾਂ ਅਤੇ ਹੇਠਲੇ-ਕ੍ਰਮ ਦੇ ਸ਼ਬਦਾਂ ਦਾ ਸਾਰ ਦਿੰਦੇ ਹਨ। ਉਦਾਹਰਣ ਦੇ ਲਈ, 2n + 3n + 4 ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ ਓ(ਐਨ) ਕਿਉਂਕਿ ਚਤੁਰਭੁਜ ਸ਼ਬਦ ਵੱਡੇ ਲਈ ਹਾਵੀ ਹੁੰਦਾ ਹੈ ਐਨ .
ਜਟਿਲਤਾ ਕਲਾਸਾਂ ਨੂੰ ਸਮਝਣਾ ਸਕੇਲੇਬਿਲਟੀ ਦੁਆਰਾ ਐਲਗੋਰਿਦਮ ਨੂੰ ਸ਼੍ਰੇਣੀਬੱਧ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਇੱਥੇ ਸਭ ਤੋਂ ਘੱਟ ਕੁਸ਼ਲ ਤੋਂ ਲੈ ਕੇ ਸਭ ਤੋਂ ਘੱਟ ਕੁਸ਼ਲ ਤੱਕ ਦੀ ਇੱਕ ਪਦ-ਅਨੁਕ੍ਰਮ ਹੈ:
ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਸਮਾਂ ਜਾਂ ਮੈਮੋਰੀ ਇਸ ਤਰ੍ਹਾਂ ਬਦਲੀ ਨਹੀਂ ਜਾਂਦੀ
ਐਨ
ਵਧਦਾ ਹੈ।
-
ਉਦਾਹਰਣ
: ਕੁੰਜੀ ਦੁਆਰਾ ਹੈਸ਼ ਟੇਬਲ ਮੁੱਲ ਤੱਕ ਪਹੁੰਚ ਕਰਨਾ।
ਰਨਟਾਈਮ ਲਘੂਗਣਕ ਤੌਰ 'ਤੇ ਵਧਦਾ ਹੈ
ਐਨ
.
-
ਉਦਾਹਰਣ
: ਬਾਈਨਰੀ ਖੋਜ ਹਰੇਕ ਦੁਹਰਾਅ ਵਿੱਚ ਇਨਪੁਟ ਸਪੇਸ ਨੂੰ ਅੱਧਾ ਕਰ ਦਿੰਦੀ ਹੈ।
ਰਨਟਾਈਮ ਅਨੁਪਾਤਕ ਤੌਰ 'ਤੇ ਸਕੇਲ ਕਰਦਾ ਹੈ
ਐਨ
.
-
ਉਦਾਹਰਣ
: ਇੱਕ ਅਣ-ਕ੍ਰਮਬੱਧ ਸੂਚੀ ਰਾਹੀਂ ਰੇਖਿਕ ਖੋਜ।
ਪਾੜੋ-ਅਤੇ-ਜਿੱਤੋ ਐਲਗੋਰਿਦਮ ਵਿੱਚ ਆਮ।
-
ਉਦਾਹਰਣ
: ਸੌਰਟ ਅਤੇ ਹੀਪ ਸੌਰਟ ਨੂੰ ਮਿਲਾਓ।
ਨੇਸਟਡ ਦੁਹਰਾਓ ਵਿਸਫੋਟਕ ਵਿਕਾਸ ਵੱਲ ਲੈ ਜਾਂਦੇ ਹਨ।
-
ਉਦਾਹਰਣ
: ਬੁਲਬੁਲਾ ਸੌਰਟ ਅਤੇ ਚੋਣ ਸੌਰਟ।
ਹਰੇਕ ਵਾਧੂ ਇਨਪੁੱਟ ਨਾਲ ਰਨਟਾਈਮ ਦੁੱਗਣਾ ਹੋ ਜਾਂਦਾ ਹੈ।
-
ਉਦਾਹਰਣ
: ਯਾਦ-ਪੱਤਰ ਤੋਂ ਬਿਨਾਂ ਆਵਰਤੀ ਫਿਬੋਨਾਚੀ ਗਣਨਾ।
ਕ੍ਰਮ-ਅਧਾਰਿਤ ਐਲਗੋਰਿਦਮ।
-
ਉਦਾਹਰਣ
: ਯਾਤਰਾ ਕਰਨ ਵਾਲੇ ਸੇਲਜ਼ਮੈਨ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਵਹਿਸ਼ੀ ਤਾਕਤ ਨਾਲ ਹੱਲ ਕਰਨਾ।
ਵਿਚਕਾਰ ਅੰਤਰ O(n ਲਾਗ n) ਅਤੇ ਓ(ਐਨ) ਲਈ ਸਖ਼ਤ ਹੋ ਜਾਂਦਾ ਹੈ ਐਨ = 10 : ਪਹਿਲਾ ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ ਚੱਲ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਬਾਅਦ ਵਾਲੇ ਨੂੰ ਦਿਨ ਲੱਗ ਸਕਦੇ ਹਨ।
ਐਲਗੋਰਿਦਮ ਇਨਪੁਟ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇ ਆਧਾਰ 'ਤੇ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੇ ਹਨ। ਸਾਰੇ ਮਾਮਲਿਆਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਨਾਲ ਮਜ਼ਬੂਤੀ ਯਕੀਨੀ ਬਣਦੀ ਹੈ:
ਇੱਕ ਡੇਟਾਬੇਸ ਪੁੱਛਗਿੱਛ ਆਪਟੀਮਾਈਜ਼ਰ ਇੱਕ ਹੈਸ਼ ਜੁਆਇਨ ਵਿੱਚੋਂ ਚੁਣ ਸਕਦਾ ਹੈ ( ਓ(ਐਨ + ਮੀ) ) ਅਤੇ ਨੇਸਟਡ ਲੂਪ ਜੁਆਇਨ ( O(nm) ) ਡੇਟਾ ਵੰਡ ਦੇ ਆਧਾਰ 'ਤੇ। ਸਭ ਤੋਂ ਮਾੜੇ ਹਾਲਾਤਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਸੁਰੱਖਿਆ-ਨਾਜ਼ੁਕ ਪ੍ਰਣਾਲੀਆਂ (ਜਿਵੇਂ ਕਿ, ਹਵਾਬਾਜ਼ੀ ਸੌਫਟਵੇਅਰ) ਲਈ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਜਿੱਥੇ ਅਣਪਛਾਤੀਤਾ ਅਸਵੀਕਾਰਨਯੋਗ ਹੈ।
ਇੱਕੋ ਸਮੱਸਿਆ ਨੂੰ ਵੱਖ-ਵੱਖ ਐਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਮੁੱਲਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਇੱਕ ਟੀਚਾ ਮੁੱਲ ਦੀ ਖੋਜ ਕਰਨ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਵੱਖ-ਵੱਖ ਐਲਗੋਰਿਦਮ, ਜਿਵੇਂ ਕਿ ਰੇਖਿਕ ਖੋਜ, ਬਾਈਨਰੀ ਖੋਜ, ਜਾਂ ਹੈਸ਼ ਟੇਬਲ ਖੋਜ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਇਹਨਾਂ ਐਲਗੋਰਿਦਮਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਇੱਕ ਟੀਚਾ ਮੁੱਲ ਦੀ ਖੋਜ ਲਈ ਸਮੇਂ ਅਤੇ ਸਥਾਨ ਦੀਆਂ ਜਟਿਲਤਾਵਾਂ ਦੀ ਤੁਲਨਾ ਕਰਦੀ ਹੈ ਐਨ ਮੁੱਲ।
ਐਲਗੋਰਿਦਮ ਦੀ ਚੋਣ ਸਮੱਸਿਆ ਦੇ ਆਕਾਰ, ਇਨਪੁਟ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਉਪਲਬਧ ਸਰੋਤਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਸੂਚੀ ਛੋਟੀ ਅਤੇ ਕ੍ਰਮਬੱਧ ਨਹੀਂ ਹੈ, ਤਾਂ ਰੇਖਿਕ ਖੋਜ ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪ ਹੋ ਸਕਦੀ ਹੈ। ਜੇਕਰ ਸੂਚੀ ਵੱਡੀ ਅਤੇ ਕ੍ਰਮਬੱਧ ਹੈ, ਤਾਂ ਬਾਈਨਰੀ ਖੋਜ ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪ ਹੋ ਸਕਦੀ ਹੈ। ਜੇਕਰ ਸੂਚੀ ਵੱਡੀ ਅਤੇ ਛਾਂਟੀ ਰਹਿਤ ਹੈ, ਤਾਂ ਹੈਸ਼ ਟੇਬਲ ਖੋਜ ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪ ਹੋ ਸਕਦੀ ਹੈ।
ਅਮੋਰਟਾਈਜ਼ਡ ਵਿਸ਼ਲੇਸ਼ਣ ਕਾਰਜਾਂ ਦੇ ਕ੍ਰਮ ਵਿੱਚ ਔਸਤ ਸਮਾਂ ਕੱਢਦਾ ਹੈ।
-
ਉਦਾਹਰਣ
: ਡਾਇਨਾਮਿਕ ਐਰੇ ਪੂਰੀ ਹੋਣ 'ਤੇ ਸਮਰੱਥਾ ਨੂੰ ਦੁੱਗਣਾ ਕਰ ਦਿੰਦੇ ਹਨ। ਜਦੋਂ ਕਿ ਇੱਕ ਸਿੰਗਲ
ਧੱਕਾ
ਓਪਰੇਸ਼ਨ ਲੱਗ ਸਕਦਾ ਹੈ
ਓ(ਐਨ)
ਸਮੇਂ ਦੇ ਨਾਲ, ਅਮੋਰਟਾਈਜ਼ਡ ਲਾਗਤ ਰਹਿੰਦੀ ਹੈ
O(1)
.
ਐਲਗੋਰਿਦਮ ਜਿਵੇਂ ਕਿ
ਮੋਂਟੇ ਕਾਰਲੋ
ਅਤੇ
ਲਾਸ ਵੇਗਾਸ
ਕੁਸ਼ਲਤਾ ਲਈ ਬੇਤਰਤੀਬਤਾ ਦੀ ਵਰਤੋਂ ਕਰੋ।
-
ਉਦਾਹਰਣ
: ਮਿਲਰ-ਰੈਬਿਨ ਪ੍ਰਾਈਮੈਲਿਟੀ ਟੈਸਟ ਵਿੱਚ ਸੰਭਾਵਨਾਤਮਕ ਗਾਰੰਟੀਆਂ ਹਨ ਪਰ ਇਹ ਨਿਰਣਾਇਕ ਤਰੀਕਿਆਂ ਨਾਲੋਂ ਤੇਜ਼ ਹੈ।
ਕੁਝ ਸਮੱਸਿਆਵਾਂ (ਜਿਵੇਂ ਕਿ, ਬੂਲੀਅਨ ਸੰਤੁਸ਼ਟੀ) ਹਨ NP-ਪੂਰਾ , ਭਾਵ ਕੋਈ ਜਾਣਿਆ-ਪਛਾਣਿਆ ਬਹੁਪਦ-ਸਮੇਂ ਦਾ ਹੱਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ। ਕਟੌਤੀਆਂ ਰਾਹੀਂ NP-ਪੂਰਨਤਾ ਸਾਬਤ ਕਰਨਾ ਕੰਪਿਊਟੇਸ਼ਨਲ ਕਠੋਰਤਾ ਨੂੰ ਵਰਗੀਕ੍ਰਿਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਇੱਕ ਓ(ਐਨ) ਕਲੱਸਟਰਿੰਗ ਐਲਗੋਰਿਦਮ ਵੱਡੇ ਡੇਟਾਸੈਟਾਂ ਲਈ ਇੱਕ ਰੁਕਾਵਟ ਬਣ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ kd ਟ੍ਰੀ ਵਰਗੇ ਲਗਭਗ ਤਰੀਕਿਆਂ ਵੱਲ ਸ਼ਿਫਟ ਹੋ ਸਕਦਾ ਹੈ ( O(n ਲਾਗ n) ).
ਜਨਤਕ-ਕੁੰਜੀ ਪ੍ਰਣਾਲੀਆਂ ਦੀ ਕਠੋਰਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀਆਂ ਹਨ O(2) ਹਮਲਿਆਂ ਦਾ ਵਿਰੋਧ ਕਰਨ ਲਈ ਸਮੱਸਿਆਵਾਂ (ਜਿਵੇਂ ਕਿ ਪੂਰਨ ਅੰਕ ਫੈਕਟਰਾਈਜ਼ੇਸ਼ਨ)।
ਰੀਅਲ-ਟਾਈਮ ਰੈਂਡਰਿੰਗ ਇੰਜਣ ਤਰਜੀਹ ਦਿੰਦੇ ਹਨ O(1) 60+ FPS ਬਣਾਈ ਰੱਖਣ ਲਈ ਭੌਤਿਕ ਵਿਗਿਆਨ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ ਐਲਗੋਰਿਦਮ।
ਸੌਦੇਬਾਜ਼ੀ ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ:
-
ਸਮਾਂ ਬਨਾਮ ਸਪੇਸ
: ਹੈਸ਼ ਮੈਪਸ ਦੀ ਵਰਤੋਂ ਕਰੋ (
O(1)
ਖੋਜਾਂ) ਮੈਮੋਰੀ ਦੀ ਕੀਮਤ 'ਤੇ।
-
ਸਾਦਗੀ ਬਨਾਮ. ਅਨੁਕੂਲਤਾ
: ਸੰਮਿਲਨ ਕ੍ਰਮ (
ਓ(ਐਨ)
) ਛੋਟੇ, ਲਗਭਗ ਕ੍ਰਮਬੱਧ ਡੇਟਾਸੈੱਟਾਂ ਲਈ ਤਰਜੀਹੀ ਹੋ ਸਕਦਾ ਹੈ।
ਆਵਰਤੀ ਐਲਗੋਰਿਦਮ ਲਈ, ਆਵਰਤੀ ਸਬੰਧ ਮਾਡਲ ਰਨਟਾਈਮ। ਉਦਾਹਰਨ ਲਈ, ਮਰਜ ਕ੍ਰਮਬੱਧ ਆਵਰਤੀ:
[ T(n) = 2T(n/2) + O(n) ] ਇਹ ਹੱਲ ਕਰਦਾ ਹੈ ਕਿ
O(n ਲਾਗ n)
ਰਾਹੀਂ
ਮਾਸਟਰ ਥਿਊਰਮ
.
ਅਨੁਭਵੀ ਪਰੀਖਣ ਸਿਧਾਂਤਕ ਵਿਸ਼ਲੇਸ਼ਣ ਦੀ ਪੂਰਤੀ ਕਰਦਾ ਹੈ। ਪ੍ਰੋਫਾਈਲਿੰਗ ਟੂਲ (ਜਿਵੇਂ ਕਿ, Valgrind, perf) ਅਸਲ-ਸੰਸਾਰ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਪ੍ਰਗਟ ਕਰਦੇ ਹਨ।
ਪਾਈਥਨ
ਡਿਫ ਰੇਖਿਕ_ਸਮ(ਏਆਰਆਰ):
ਕੁੱਲ = 0
ਨੰਬਰ ਲਈ arr ਵਿੱਚ:
ਕੁੱਲ += ਗਿਣਤੀ
ਕੁੱਲ ਵਾਪਸੀ
ਡਿਫ ਕੁਆਡ੍ਰੈਕਡੇਟਿਕ_ਸਮ(ਅਰ):
ਕੁੱਲ = 0
ਮੇਰੇ ਲਈ ਐਰਰ ਵਿੱਚ:
j ਲਈ arr ਵਿੱਚ:
ਕੁੱਲ += i * j
ਕੁੱਲ ਵਾਪਸੀ
ਜਦੋਂ ਕਿ ਓ(ਐਨ) ਸਥਿਰਾਂਕਾਂ ਨੂੰ ਸੰਖੇਪ ਵਿੱਚ ਦਰਸਾਉਂਦਾ ਹੈ, a 100ਐਨ ਐਲਗੋਰਿਦਮ ਇੱਕ ਤੋਂ ਹੌਲੀ ਹੋ ਸਕਦਾ ਹੈ 0.01ਐਨ ਵਿਹਾਰਕ ਲਈ ਐਲਗੋਰਿਦਮ ਐਨ .
ਇੱਕ O(n ਲਾਗ n) ਐਲਗੋਰਿਦਮ ਘੱਟ ਪ੍ਰਦਰਸ਼ਨ ਕਰ ਸਕਦਾ ਹੈ ਓ(ਐਨ) ਲਈ ਐਨ = 10 ਓਵਰਹੈੱਡ ਦੇ ਕਾਰਨ।
ਇੱਕ ਯਾਦ ਕੀਤਾ ਗਿਆ ਫਿਬੋਨਾਚੀ ਫੰਕਸ਼ਨ ( ਓ(ਐਨ) ਸਪੇਸ) ਵੱਡੇ ਇਨਪੁਟਸ 'ਤੇ ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ, ਇੱਕ ਦੁਹਰਾਉਣ ਵਾਲੇ ਸੰਸਕਰਣ ਦੇ ਉਲਟ ( O(1) ਸਪੇਸ)।
ਇੱਕ ਸਵੈ-ਸੰਤੁਲਨ ਵਾਲਾ BST ( O(ਲੌਗ n) ਖੋਜ) ਇੱਕ ਨਿਯਮਤ BST ਨਾਲੋਂ ਸੁਰੱਖਿਅਤ ਹੈ ( ਓ(ਐਨ) (ਭੈੜੇ ਹਾਲਾਤਾਂ ਵਿੱਚ) ਗੈਰ-ਭਰੋਸੇਯੋਗ ਡੇਟਾ ਲਈ।
ਐਲਗੋਰਿਦਮ ਜਟਿਲਤਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕੰਪਾਸ ਹੈ ਜੋ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਕੰਪਿਊਟੇਸ਼ਨਲ ਕੁਸ਼ਲਤਾ ਦੇ ਵਿਸ਼ਾਲ ਲੈਂਡਸਕੇਪ ਵਿੱਚ ਮਾਰਗਦਰਸ਼ਨ ਕਰਦਾ ਹੈ। MTSC7196 ਦੇ ਵਿਦਿਆਰਥੀਆਂ ਲਈ, ਇਸ ਵਿਸ਼ੇ ਵਿੱਚ ਮੁਹਾਰਤ ਹਾਸਲ ਕਰਨਾ ਸਿਧਾਂਤਕ ਗਿਆਨ ਅਤੇ ਵਿਹਾਰਕ ਮੁਹਾਰਤ ਨੂੰ ਜੋੜਦਾ ਹੈ। ਸਮੇਂ ਅਤੇ ਸਥਾਨ ਦੀਆਂ ਜ਼ਰੂਰਤਾਂ ਨੂੰ ਵਿਭਾਜਿਤ ਕਰਕੇ, ਅਸਿੰਪਟੋਟਿਕ ਸੀਮਾਵਾਂ ਦੀ ਤੁਲਨਾ ਕਰਕੇ, ਅਤੇ ਅਸਲ-ਸੰਸਾਰ ਵਪਾਰ-ਆਫਸ ਨੂੰ ਨੈਵੀਗੇਟ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਅਜਿਹੇ ਸਿਸਟਮ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹਨ ਜੋ ਸੁੰਦਰਤਾ ਨਾਲ ਸਕੇਲ ਕਰਦੇ ਹਨ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਨਾਲ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੇ ਹਨ।
ਡੇਟਾ-ਸੰਚਾਲਿਤ ਨਵੀਨਤਾ ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਇੱਕ ਯੁੱਗ ਵਿੱਚ, ਇੱਕ ਵਿਚਕਾਰ ਫਰਕ ਕਰਨ ਦੀ ਯੋਗਤਾ O(n ਲਾਗ n) ਅਤੇ ਇੱਕ ਓ(ਐਨ) ਹੱਲ ਸਿਰਫ਼ ਅਕਾਦਮਿਕ ਨਹੀਂ ਹੈ, ਇਹ ਇੱਕ ਰਣਨੀਤਕ ਜ਼ਰੂਰੀ ਹੈ। ਜਿਵੇਂ-ਜਿਵੇਂ ਤੁਸੀਂ ਆਪਣੀ ਪੜ੍ਹਾਈ ਵਿੱਚ ਅੱਗੇ ਵਧਦੇ ਹੋ, ਯਾਦ ਰੱਖੋ: ਜਟਿਲਤਾ ਵਿਸ਼ਲੇਸ਼ਣ ਸਿਰਫ਼ ਸੰਖਿਆਵਾਂ ਅਤੇ ਚਿੰਨ੍ਹਾਂ ਬਾਰੇ ਨਹੀਂ ਹੈ। ਇਹ ਗਣਨਾ ਦੇ ਦਿਲ ਦੀ ਧੜਕਣ ਨੂੰ ਸਮਝਣ ਬਾਰੇ ਹੈ।
2019 ਤੋਂ, ਮਿਲਦੇ ਹੋਏ, ਤੁਹਾਨੂੰ ਮਿਲੋ ਗਹਿਣਿਆਂ ਦੀ ਸਥਾਪਨਾ ਗਵਾਂਸਜ਼ੌ, ਚੀਨ, ਗਹਿਣਿਆਂ ਦੇ ਨਿਰਮਾਣ ਦੇ ਅਧਾਰ ਤੇ ਕੀਤੀ ਗਈ ਸੀ. ਅਸੀਂ ਇੱਕ ਗਹਿਣਿਆਂ ਦਾ ਉੱਦਮ ਏਕੀਕ੍ਰਿਤ ਡਿਜ਼ਾਈਨ, ਉਤਪਾਦਨ ਅਤੇ ਵਿਕਰੀ ਹਾਂ.
+86-19924726359/+86-13431083798
ਫਲੋਰ 13, ਵੈਸਟ ਟਾਵਰ ਦਾ ਗੋਲਮ ਸਮਾਰਟ ਸਿਟੀ, ਨੰਬਰ 33 ਜੁਕਸਿਨ ਸਟ੍ਰੀਟ, ਜ਼ਿਲ੍ਹਾ ਹਜ਼ੂਜ਼ੌ, ਚੀਨ.