Skip to main content

7.OBST

File: /home/saiesh/ADS/Assignment No 7/ads7.cpp
Page 1 of 2
#include<iostream>
#define MAX 10
using namespace std;
char idnt[7][10];
int i,j,k,n,m,r[10][10];
float p[MAX],q[MAX],w[10][10],c[10][10];
int find(int i,int j)
{
int min=2000,m,l;
for(m=i+1;m<=j;m++)
if(c[i][m-1]+c[m][j]<min)
{
min=c[i][m-1]+c[m][j];
l=m;
}
return l;
}
void print(int i,int j)
{
if(i>=j)
return;
if(r[i][r[i][j]-1]!=0)
cout<<"\nLeft child of "<<idnt[r[i][j]]<<" is\t: "<<idnt[r[i][r[i]
[j]-1]];
if(r[r[i][j]][j]!=0)
cout<<"\nRight child of "<<idnt[r[i][j]]<<" is\t: "<<idnt[r[r[i]
[j]][j]];
print(i,r[i][j]-1);
print(r[i][j],j);
return;
}
int main()
{
cout<<"\n\tOptimal Binary Search Tree\n";
cout<<"\nEnter the number of identifiers\t\t: ";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Enter identifier "<<i<<"\t\t\t: ";
cin>>idnt[i];
}
cout<<"\n";
for(i=1;i<=n;i++)
{
cout<<"Enter success probability of p["<<i<<"]\t: ";
cin>>p[i];
}
cout<<"\n";
for(i=0;i<=n;i++)
{
cout<<"Enter failure probability of q["<<i<<"]\t: ";
cin>>q[i];
}
cout<<"\n";
for(i=0;i<=n;i++)
{
w[i][i]=q[i];
c[i][i]=r[i][i]=0;
w[i][i+1]=q[i]+q[i+1]+p[i+1];
r[i][i+1]=i+1;
c[i][i+1]=q[i]+q[i+1]+p[i+1];
}
w[n][n]=q[n];File: /home/saiesh/ADS/Assignment No 7/ads7.cpp
r[n][n]=c[n][n]=0;
for(m=2;m<=n;m++)
{
for(i=0;i<=n-m;i++)
{
j=i+m;
w[i][j]=w[i][j-1]+p[j]+q[j];
k=find(i,j);
r[i][j]=k;
c[i][j]=w[i][j]+c[i][k-1]+c[k][j];
}
}
cout<<"\tOptimal Binary Search Tree \n";
cout<<"\nRoot is\t\t\t: "<<idnt[r[0][j]];
print(0,n);
cout<<"\nTotal cost of OBST is\t: "<<c[0][j]<<"\n";
return 0;
}
/*
OUTPUT
saiesh@saiesh :~$ g++ ads7.cpp
saiesh@saiesh :~$ ./a.out
Optimal Binary Search Tree
Enter
Enter
Enter
Enter
Enter the number
identifier
identifier
identifier
identifier
of identifiers
1
2
3
4
Enter
Enter
Enter
Enter success
success
success
success probability
probability
probability
probability of
of
of
of
Enter
Enter
Enter
Enter
Enter failure
failure
failure
failure
failure probability
probability
probability
probability
probability of
of
of
of
of
:
:
:
:
: 4
do
if
read
while
p[1]
p[2]
p[3]
p[4] :
:
:
: 1
3
1
3
q[0]
q[1]
q[2]
q[3]
q[4] :
:
:
:
: 1
2
1
1
3
Optimal Binary Search Tree
Root is
Left child of if is
Right child of if is
Left child of while is
Total cost of OBST is
saiesh@saiesh :~$ */
:
:
:
:
:
if
do
while
read
32
Page 2 of 2

Comments

Popular posts from this blog

PPL 1

NEW Unit III STRUCTURING OF PROGRAM MULTIPLE CHOICE QUESTIONS 1. Which of the following is the functionality of ‘Data Abstraction’? (a) Reduce Complexity (b) Binds together code and data (c) Parallelism (d) None of the mentioned Answer : a Explanation : An essential element of Object Oriented Programming is ‘Data Abstraction’ which means hiding things. Complexity is managed through abstraction. 2. Which of the following mechanisms is/are provided by Object Oriented Language to implement Object Oriented Model? (a) Encapsulation (b) Inheritance (c) Polymorphism (d) All of the mentioned Answer : d Explanation : None. 3. Which of these is the functionality of ‘Encapsulation’? (a) Binds together code and data (b) Using single interface for general class of actions. (c) Reduce Complexity (d) All of the mentioned Answer : a Explanation : ‘Encapsulation’ acts as protective wrapper that prevents code and data from being accessed by other code defined outside the...

EEE

EEE Unit-1 DC Machines MCQ's MULTIPLE CHOICE QUESTIONS ON UNIT 1: DC MACHINES Edit 1.The sole purpose of a Commutator in a dc generator is to------- ((A))increase output voltage ((B)) reduce sparking at brushes ((C)) provide smoother output ((D)) convert the induced ac into dc Hide ! Answer : D 2.In a dc generator, the generated emf is directly proportional to the------ ((A)) field current ((B)) pole flux ((C)) number of armature parallel paths ((D)) number of dummy coils Hide ! Answer:B 3.An ideal dc generator has .......... voltage regulation. ((A))low ((B))zero ((C))positive ((D))negative Hide ! Answer:B 4.Which generator may have poorest voltage regulation? ((A))series ((B))shunt((C))compound ((D))high Hide ! Answer:A 5.Voltage equation of a dc motor is----- ((A)) V = Eb + IaRa ((B)) Eb = V + IaRa ((C))V = Eb /IaRa ((D))V = Eb + Ia2Ra Hide ! Answer: A 6.Which of the following motor has the constant speed? ((A))Series motor ((B))Shunt motor ((C))Cumulatively compound motor ((D)...

replacing strings without using inbuild functions

 Q:replacing strings without using inbuild functions. We are using gcc compiler and terminal to compile the code and ubuntu OS. PROGRAM: #include<stdio.h> int strln1(char s1[]); int strln2(char s2[]); void strcpy1(char s1[],char s2[]); int main() {     char s1[30],s2[30];     int result1,result2;     printf("Enter the string s1");     scanf("%s",s1);     printf("Enter the string s2");     scanf("%s",s2);     printf("Your string s1 is %s",s1);     printf("\nYour string s2 is %s",s2);     result1=strln1(s1);     result2=strln2(s2);     printf("\nlength of string s1 is %d\n",result1);     printf("\nlength of string s2 is %d\n",result2);     strcpy1(s1,s2); } int strln1(char s1[]) {     int i,ln;   ...