big-o


Counting Operations to Produce Polynomials


I am struggling to accurately count the operations for this method in order to produce a polynomial f(x):
public static int numOccurrences(int n){
int count = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(i == j) {
continue;
}
if(strings[i] == strings[j]){
count++;
}
}
}
return count;
}
So far this is my understanding:
int count = 0; //1 time
int i = 0; //1 time
while(i < n) //n times
int j = 0; //n times
while(j<n) //n*n times
if(i == j) //n*n times
continue; //n times
if(strings[i] == strings[j]) //n*n+2 times
count++; //n*n times
i++ //n*n times
j++ //n*n times
return count; //1 time
One we are inside of a nested loop with the if statements, I am wondering how I count the operations if what I have above is incorrect?
Also, for the line if(strings[i] == strings[j]) I am counting 1 for the test, 1 for grabbing strings[i] and 1 for strings[j]. Is this correct?
My final answer was: f(x) = 5n^4+10n^3+3n+3
and I sincerely apologize if this is insanely incorrect!
I wanted to share my answer just in case someone stumbles upon this post.
An easier way of producing a polynomial that I discovered from a tutor today is to count each operation, BUT instead of writing out that everything inside a loop happens n*n times, we would simply count the single steps and nest the those individual steps (like i++) inside of n.
For example:
int count = 0; //1
int i = 0; //+ 1
while(i < n) //+ n(
i++; //+ 1
int j = 0; //+ 1
while(j < n) //+ n(
j++ //+ 1
if(i == j) //+ 1
continue; //+ 1
if(strings[i] == strings[j]) //+ 3
count++; //+ 1
return count; //+ 1
add all of them up, we get = 1+1+n(1+1+n(1+1+1+3+1))+1
Simplify = 6n^2+2n+3

Related Links

Complexity of Level Order traversal
What is the complexity of this function
Big O notation on some examples [duplicate]
Complexity of Fermat's Little Theorem
How do you show that a language is in the class P?
Quicksort vs Mergesort on big arrray with a high range of values
Big O notation: O((n-1)!) or O(n!) for T((n-1)!)?
How to compare exponential complexities?
concerning big-oh notation and proving or disproving
Comparing complexities
f(n)/log(n) = O(g(n)) ⇒ g(n) = Θ(f(n))?
Big O with removing an element each time
Understanding the total time complexity of code
What are “relevant operations” in analysis of algorithms?
comparing 2 functions with big O notation
Worst Case Big O runtime

Categories

HOME
service-worker
notepad++
cygwin
design-patterns
jmeter
ecmascript-6
case
interface
apiblueprint
requirements
yandex
alsa
mips
onclick
azure-container-service
modal-dialog
syntaxnet
minecraft-forge
drop-down-menu
reactive-programming
appcelerator-studio
android-securityexception
ycsb
filechannel
angular-dart
3nf
android-intent
firefox-addon
visual-glitch
articulate-storyline
react-toolbox
parcelable
tosca
monit
displaytag
direct3d11
draft-js-plugins
siri
beautifier
licensing
nstimer
autodesk-designautomation
gitlab-api
recurring-events
sql-server-2000
database-comparison
autolisp
hibernate-search
indy10
mnist
sim-toolkit
sql-server-ce
dm-script
bc
recurrent-neural-network
odoo-website
vmware-fusion
plr
phpdbg
getchar
nanoc
sonarlint-eclipse
tf
lightning
tinkerpop
jqchart
pdf-conversion
trigger.io
cmp
cronexpression
burrows-wheeler-transform
watch-os-2
greatest-n-per-group
lean
np-spring
character-replacement
linklabel
toran-proxy
ons-api
amiga
google-refine
zxspectrum
adehabitathr
machine-instruction
universal-image-loader
strawberry-perl
mintty
dot42
mutual-authentication
qscrollarea
ora-06550
http-patch
jeromq
nevron
poker
chart-director
joomla3.1
iboutlet
adobe-media-server
urlrewriter
flex-mobile
globals
build-environment
filesystemobject
interop-domino
cldc
alsb
escrow
fdf

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App