hcl commonly asked questions 2

21
Asked Questions and Answers: 1.)Your Introduction? 2.) Your objective? 3.) Tell me something about your family? (This is their favorite question so pre pare it well) 4.) Why HCL? 5.) If you are already placed in another company, then why HCL over that company ? 6.) What do u know about HCL?.(www.hcltech.com and PPT) The HCL Enterprise is one of India's largest electronics, computing and information technology company. Based in Noida, near Delhi, the company compris es two publicly listed Indian companies, HCL Technologies and HCL Infosystems. HCL was founded in 1976 by Shiv Nadar, Arjun Malhotra, Subhash Arora, Ajai Chowd hry, DS Puri, & Yogesh Vaidya. HCL was focused on addressing the IT hardware mar ket in India for the first two decades of its existence with some sporadic activ ity in the global market. On termination of the joint venture with HP in 1996, HCL became an enterprise wh ich comprises HCL Technologies (to address the global IT services market) and HC L Infosystems (to address the Indian and APAC IT hardware market). HCL has since then operated as a holding company. 1976 - HCL (Hindustan Computers Limited) is created. 1977 - Forms distribution alliance with Toshiba for copiers and notebooks 1978 - Developed the first indigenous Microcomputer 1988 - Development of fine-grained multiprocessor Unix operating system 1986 - HCL becomes the largest IT company in India 1989 - HCL America is created with Sanmina SCI as its manufacturing partner. 1991 - Entered into a partnership with HP to form HCL HP Limited. Developed a cu stom Multiprocessor Unix for HP 1994 - Tied up with Nokia for mobile phone distribution and Ericsson for telepho ne switch distribution.[3] 1996 - Partnership with HP ends. 1997 - HCL's R&D division is spun off as HCL Technologies [4] 2001 - HCL BPO is created. 7.) Incidents in support of all that u have mentioned in C.V? (V.imp) 8.) How are you different than other candidates? Why should we recruit you? 9.) Whats unique about you? 10.)Any plans for higher studies? (Big No!!!!) 11.) Any Problem in Relocation? (Strict no no.). 12.)Your Hobbies, Interests, Strengths and Weaknesses, some other ques from C.V. 13.) One thing that irritates you the most and why? 14.) You may need to explain your projects also. 15.) Do you want to ask something from me? Don't forget to ask a question because it shows that you are interested in this job. You may ask anything about company and job you are applying for. 16.Encapsulation? Encapsulation is also known as information hiding, it is to protect data from the client using the classes but still allowing the client to access the d ata, but not modify it. Through a public interface, the private data can be used by the client class without the worry of the user messing with the private data . An example of encapsulation is declaring an instance variable private, and hav ing an accessor method that allow access to the variable. 17.Which sort show the best average behavior? quick sort

Upload: shabin-crzyracer

Post on 10-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 1/21

Asked Questions and Answers:1.)Your Introduction?2.) Your objective?3.) Tell me something about your family? (This is their favorite question so prepare it well)4.) Why HCL?5.) If you are already placed in another company, then why HCL over that company

?6.) What do u know about HCL?.(www.hcltech.com and PPT)

The HCL Enterprise is one of India's largest electronics, computing andinformation technology company. Based in Noida, near Delhi, the company comprises two publicly listed Indian companies, HCL Technologies and HCL Infosystems.

HCL was founded in 1976 by Shiv Nadar, Arjun Malhotra, Subhash Arora, Ajai Chowdhry, DS Puri, & Yogesh Vaidya. HCL was focused on addressing the IT hardware market in India for the first two decades of its existence with some sporadic activity in the global market.

On termination of the joint venture with HP in 1996, HCL became an enterprise wh

ich comprises HCL Technologies (to address the global IT services market) and HCL Infosystems (to address the Indian and APAC IT hardware market). HCL has sincethen operated as a holding company.

1976 - HCL (Hindustan Computers Limited) is created.1977 - Forms distribution alliance with Toshiba for copiers and notebooks1978 - Developed the first indigenous Microcomputer1988 - Development of fine-grained multiprocessor Unix operating system1986 - HCL becomes the largest IT company in India1989 - HCL America is created with Sanmina SCI as its manufacturing partner.1991 - Entered into a partnership with HP to form HCL HP Limited. Developed a custom Multiprocessor Unix for HP1994 - Tied up with Nokia for mobile phone distribution and Ericsson for telepho

ne switch distribution.[3]1996 - Partnership with HP ends.1997 - HCL's R&D division is spun off as HCL Technologies [4]2001 - HCL BPO is created.

7.) Incidents in support of all that u have mentioned in C.V? (V.imp)8.) How are you different than other candidates? Why should we recruit you?9.) Whats unique about you?10.)Any plans for higher studies? (Big No!!!!)11.) Any Problem in Relocation? (Strict no no.).12.)Your Hobbies, Interests, Strengths and Weaknesses, some other ques from C.V.13.) One thing that irritates you the most and why?

14.) You may need to explain your projects also.15.) Do you want to ask something from me?Don't forget to ask a question because it shows that you are interested

in this job. You may ask anything about company and job you are applying for.

16.Encapsulation?Encapsulation is also known as information hiding, it is to protect data

from the client using the classes but still allowing the client to access the data, but not modify it. Through a public interface, the private data can be usedby the client class without the worry of the user messing with the private data. An example of encapsulation is declaring an instance variable private, and having an accessor method that allow access to the variable.

17.Which sort show the best average behavior?quick sort

Page 2: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 2/21

18.What is a datastructure?A data structure is a specialized format for organizing and storing data

. General data structure types include thearray, the file, the record, the table, the tree, and so on. Any data structureis designed to organize data to suit aspecific purpose so that it can be accessed and worked with in appropriate ways.

19. How would you sort a linked list?using merge sort.

20.What is atmost complete binary tree?An almost complete binary tree is a tree in which each node that has a r

ight child also has a left child.Having a left child does not require a node to have a right child. Stated lternately, an almost complete binary tree is atree where for a right child, there is always a left child, but for a left childthere may not be a right child.The number of nodes in a binary tree can be found using this formula: n = 2^h Where n is the amount of nodes in the tree,

and h is the height of the tree.

21.what is hashing?Hashing is a way retrieving records from memory in faster way.Record is

inserted into memory by using hash function(division,midsqure,folding,digit analysis)and also records are retrieved using same hash function.

22. What are the parts of root node?A root node contains data part and has link part. i.e links to its child

. if it is binary tree it has two links i.eleft child and right child.

23.What does abstract data type means?If for a particular collection of data only the structure of data and th

e functions to be performed on the data isdefined but the implementation is not defined,then such a collection of data iscalled Abstrct data type.

24.What is B+ tree?A B+ tree is a data structure in which records associated with the searc

h keys are at the leaves of the tree.This provide efficient retrieval,insertion and removal of records.Keys are triplicale to the non-leaf nodes to provide apath to the searched record.NT file system,JFS2 file system and Rationaldata base often used this data structure for indices.

25.Convert the following infix expression to post fix notation ((a+2)*(b+4)) -1a2+b4+*1-

( ( a + 2 ) * ( b + 4 ) ) - 1\ / /a2+ b4+ /\ / /

/a2+b4+* /

\ /

a2+b4+*1-

26.What do you mean by Base case, Recursive case, Binding Time, Run-Time Stack a

Page 3: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 3/21

nd Tail Recursion?These terms are found in Recursion.1.Base Case:it is the case in recursion where the answer isknown,or we can say the termination condition for arecursion to unwind back.For example to find Factorial of num using recursion:

int Fact(int num){

if(num==1 num==0)//base casereturn 1;else // recursive case:return num*Fact(num-1);}

2.Recursive case:It is the case whcih brings us to thecloser answer.

Run Time Stack:It is a system stack us to save the frame

stack of a function every recursion or every call.This frame stack consists of the return address,localvariables and return value if any.

Tail Recursion:The case where the function consist ofsingle recursive call and it is the last statement to beexecuted.A tail Recursion can be replace by iteration.The above funtion consists of tail recursion case.where as the below function does not.

void binary(int start,int end,int el){int mid;if(end>start){

mid=(start+end)/2;if(el==ar[mid])return mid;else{if(el>ar[mid])binary(mid+1,end,ele);elsebinary(start,mid-11,ele);}}}

27.Stack can be described as a pointer. Explain?Because stack will contain a head pointer which will always point to the

top of the Stack.All Stack Operations are done using Head Pointer. Hence Stack ca be Described asa Pointer

28.Write a Binary Search program?#include<conio.h>#include<iostream.h>#include<process.h>

int binarysearch(int list[], int end, int target, int &locn){

int first=0, mid, last=end;while(first<=last){

Page 4: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 4/21

mid=(first+last)/2;if(target>list[mid])

first=mid+1;else if(target<list[mid])

last=mid-1;else

break;

}locn=mid+1;return(target==list[mid]);}

void main(){int a[10],i,s=0,n,loc,flag=0;clrscr();cout<<"\n Enter the no. of element to store:\n";cin>>n;cout<<"Enter the Elements:\n";

for(i=0;i<n;i++)cin>>a[i];

cout<<"\n The Elements are:\n";for(i=0;i<n;i++)

cout<<a[i]<<"\t";

cout<<"\n Enter the Element to search:\n";cin>>s;

if(binarysearch(a,n,s,&loc))cout<<"\nThe element "<<s<< " is available at location

"<<loc<<endl;

elsecout<<"\nThe element "<<s<< " is not found in the List"<<endl;

29.What do you mean by: Syntax Error, Logical Error, Runtime Error?Syntax Error-Errors in coding which do not follw language syntax format.

It can occur by human mistak in typing &due lack knowledge of language .

EX - Ram are a boy.-error correct- Ram is a boy.

Logical Error- Here is correct, program will execute properly but not give answer correct.

EX- Table is a boy syntax correct but meaning is not

Runtime Error- overflow, underflow, out of memory capacity.

30.Which data structure is needed to convert infix notations to post fix notations?

Stack

31.How will inorder, preorder and postorder traversals print the elements of a tree?

Page 5: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 5/21

void inorder(node * tree){if(tree != NULL){

inorder(tree->leftchild);printf("%d ",tree->data);inorder(tree->rightchild);

}else

return;

}

void postorder(node * tree){if(tree != NULL){

postorder(tree->leftchild);postorder(tree->rightchild);

printf("%d ",tree->data);}else

return;}

void preorder(node * tree){if(tree != NULL){

printf("%d ",tree->data);preorder(tree->leftchild);preorder(tree->rightchild);

}else

return;

}

32.what is the need of data structure?if we can learn about large amount of information the concept of data st

ructure is used.

33.Parenthesis are never needed in prefix or postfix expressions. Why?Basically Parenthesis indicate the operations which need to be carried o

ut first ie according to the BODMAS rule..SO in case of postfix or prefix expression they are actualy conversions of the orginal standard equation.Where the brackets have already been taken into consideration,,,and the formed prefix/postfix expression is the correctorder of expansion of a given mathematical statement..

34.what is binary tree?A tree with at most two children for each node.

OR

A binary tree either

* is empty (no nodes), or* has a root node, a left binary tree, and a right binary tree.

Page 6: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 6/21

35.Convert following infix expression to the prefix expression a - b + c * (d /e - (f + g))

+-ab*c-/de+fg

a-b+c*(d/e-(f+g))a-b+c*(d/e-(+fg))

a-b+c*(/de-(+fg))a-b+c*(-/de+fg)a-b+(*c-/de+fg)-ab+(*c-/de+fg)+-ab*c-/de+fg (final answer)

36.Explain binary searching, Fibinocci search?Searching a binary tree for a value that matches a key value is FAST, es

pecially for tightly packed trees (a tightly packed tree contains about twice asmany elements as theprevious level)o Therefore at most log(2)n comparisons are required either to find a match or d

etermine that no match exists.o For example, searching a tightly packed 1000-element binary search tree requies at most 10 comparisons because 2o a binary search tree with n elements has a minimum of log(2)n levelso in-order: 0. if parameter node is null then return; 1. recursive traverse leftsubtrees entirely 2. display data 3. recursive traverse right subtrees entirelyo pre-order: 0 if param node is null return 1. display data 2. recursive traverse left subtrees entirely 3. recursive traverse right subtree entirely.o post-order: 0 if param node is null then return; 1. recursive traverse left subtrees entirely 2. recursive traverse right subtree entirely 3. display datao to keep it efficient you must make sure to keep tree balanced. Best way is toensure the inputted data is coming in with random values...If they are sorted inascending/descending order the tree will definitely become unbanlanced

Fibnacci search

The Fibonacci Sequence is defined such that the first two numbers of the sequence are 0 and 1. subesequent numbers are the sum of the previous two.e.g.0, 1, 1, 2, 3, 5, 8, 13 ......

37.A list is ordered from smaller to largest when a sort is called. Which sort would take the shortest time to execute?

Bubble Sort Or Insertion Sort

38.How is it possible to insert different type of elements in stack?you ca implement stack with union datatype... u may think of structures.

. but struct use storin of all values and mem allocated for all in each.. but inunion only one at atime... this is right i think...

39.Which one is faster? A binary search of an orderd set of elements in an arrayor a sequential search of the elements?

binary search if of order log n where as sequential search is of ordern, binary search is faster..

40.Explain about the types of linked lists?Singly linked list- which is linear direction that has onlyhead part.

Doubly linked list- which is bi-directional that has bothhead and tail part

Page 7: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 7/21

Circular linked list- which as no ends.

41.Write programs for Bubble Sort, Quick sort?//PROGRAM FOR BUBBLE SORT

#include<stdio.h>

#include<conio.h>#define SIZE 5void main(){int a[SIZE],n,i,j,temp;clrscr();printf("enter the elements ");for(i=0;i<SIZE;i++)scanf("%d",&a[i]);printf("the sorted list is :->\n");for(i=0;i<SIZE;i++)for(j=i;j<SIZE-i;j++)

if(a[j]>a[j+1]){temp=a[j];

a[j]=a[j+1];a[j+1]=temp;

for(i=0;i<SIZE;i++)printf("%d",a[i]);getch();}

/*QUICK SORT*/

#include<stdio.h>#include<conio.h>

int split(int [],int,int);void quicksort(int [],int,int);

void main(){int arr[20],n,i;clrscr();printf("\nQUICk SORT\n");printf("Enter the no.of elements:");scanf("%d",&n);printf("Enter the elements:");for(i=0;i<n;i++)scanf("%d",&arr[i]);printf("\nArray before sorting:\n");for(i=0;i<n;i++)printf("%d\t",arr[i]);quicksort(arr,0,n);printf("\nArray after sorting:\n");for(i=0;i<n;i++)printf("%d\t",arr[i]);getch();}

void quicksort(int a[],int lower,int upper)

Page 8: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 8/21

{int i;if(upper>lower){i=split(a,lower,upper);quicksort(a,lower,i-1);quicksort(a,i+1,upper);

}}

int split(int a[],int lower,int upper){int i,p,q,t;p=lower+1;q=upper;i=a[lower];while(q>=p){while(a[p]<i)

p++;while(a[q]>i)q--;

if(q>p){t=a[p];a[p]=a[q];a[q]=t;

}}

t=a[lower];a[lower]=a[q];a[q]=t;

return(q);}

42.Write the programs for Linked List (Insertion and Deletion) operations?/*OPERATIONS ON SINGLY LINKED LIST*/

#include<stdio.h>#include<conio.h>struct link{int item;struct link *next;};typedef struct link node;void addfirst();void addlast();void addmid();void delfirst();void dellast();void delmid();void display();node *head=NULL;

 

void main(){int ch;

Page 9: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 9/21

clrscr();do

{printf("\nSINGLY LINKED LIST OPERATIONS\n");printf("\n1.Addfirst\n2.AddMid\n3.AddLast\n4.DeleteFirst\n5.DeleteMiddle

\n6.DeleteLast\n7.Display\n8.Exit\n");printf("Enter your option:\t");

scanf("%d",&ch);switch(ch){case 1:addfirst();display();break;case 2:addmid();display();break;case 3:

addlast();display();break;case 4:delfirst();display();break;case 5:delmid();display();break;case 6:dellast();

display();break;

case 7:display();break;case 8:exit(0);break;default:printf("Invalid Choice\n");}}while(ch<=8);getch();}

void addfirst(){node *temp;temp=(node *)malloc(sizeof(node));printf("Enter the data....\t");scanf("%d",&temp->item);

temp->next=head;head=temp;}

Page 10: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 10/21

void addmid(){int i=1,pos;node *cur=head,*temp;printf("\nEnter the position\t");scanf("%d",&pos);

while(pos!=i+1&&cur!=NULL){cur=cur->next;i++;}if(pos==i+1){temp=(node *)malloc(sizeof(node));printf("Enter the data...");scanf("%d",&temp->item);temp->next=cur->next;cur->next=temp;

}}

void addlast(){node *temp,*cur=head;temp=(node *)malloc(sizeof(node));printf("\nEnter the data....");scanf("%d",&temp->item);while(cur->next!=NULL){cur=cur->next;

}temp->next=cur->next;cur->next=temp;}

void delfirst(){node *temp=head;head=head->next;printf("Deleted item is %d\n",temp->item);free(temp);}

void delmid(){int i=1,pos;node *cur=head,*temp;printf("Enter the position to be deleted\t");scanf("%d",&pos);while(pos!=i+1&&cur->next!=NULL){cur=cur->next;i++;

}if(pos==i+1){

Page 11: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 11/21

temp=cur->next;cur->next=temp->next;printf("Deleted item is %d\n",temp->item);free(temp);}}

void dellast(){node *temp,*cur=head;while(cur->next->next!=NULL){cur=cur->next;}temp=cur->next;cur->next=NULL;printf("Deleted item is %d\n",temp->item);free(temp);

}

void display(){node *cur=head;printf("\nHead->");while(cur!=NULL){printf("\t%d",cur->item);cur=cur->next;}printf("<-NULL\n");

}

43. In which data structure, elements can be added or removed at either end, butnot in the middle?

Double ended queue

44.2D array?An ordered arrangement of data elements. A vector is a one dimensional a

rray, a matrix is a two-dimensional array.Most programming languages have the ability to store and manipulate arrays in one or more dimensions.Multi-dimensional arrays are used extensively in scientific simulation and mathematical processing;however, an array can be as simple as a pricing table held in memory for instantaccess by an order entry program.

Two-dimensional arrays are declared by specifying the number of rows then the number of columns.int a[30][10]; // declares an int array of 30 rows and 10 columns.char ticTacToeBoard[3][3]; // three rows and three columns of chars.

45.Array?An array is a systematic arrangement of objects, usually in rows and col

umns

46.Insertion Sort?Insertion sort is a simple sorting algorithm, a comparison sort in which

the sorted array (or list) is built one

Page 12: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 12/21

entry at a time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, ormerge sort. However, insertion sort provides several advantages:Adaptive,Stable,Complexity.In-place.

47.Heap Sort?Heapsort is a comparison-based sorting algorithm, and is part of the sel

ection sort family.Although somewhat slower in practice on most machines than a good implementationof quicksort, it has the advantage of amore favorable worst-case T(n log n) runtime. Heapsort is an in-place algorithm,but is not a stable sort.

48.Quick Sort?Quicksort is a well-known sorting algorithm developed by C. A. R. Hoare

that, on average,makes \mathcal{O}(n\log n) (big O notation) comparisons to sort n items. In theworst case,it makes \mathcal{O}(n^2) comparisons, though if implemented correctly this beh

avior is rare.Typically, quicksort is significantly faster in practice than other \mathcal{O}(n \log n) algorithms,because its inner loop can be efficiently implemented on most architectures, andin most real-world data,it is possible to make design choices which minimize the probability of requiring quadratic time.Additionally, quicksort tends to make excellent usage of the memory hierarchy, taking perfect advantage ofvirtual memory and available caches. Coupled with the fact that quicksort is anin-place sort and uses no temporary memory,it is very well suited to modern computer architectures.

49.Merge Sort?Merge sort is an O(n log n) comparison-based sorting algorithm. In most

implementations it is stable,meaning that it preserves the input order of equal elements in the sorted output.

50. what is the main difference between c and c++?Actually c is a procedural programming language which cann't face the re

al world problem. It has some drawbacklike a global data is shared by all function and if in a large program it is find out difficult that which function useswhich data.

On the other hand c++ is an object oriented programming language which eliminatesome pitfall of conventional orprocedural programming language. It is a concept or approach for designing a newsoftware. It is nothing to do withany programming language although a programming language which support the oopsconcept to make it easier to implement.

This is the main different between c and c++.

c is a topdown approach while c++ is bottom up approach.c is not object oriented but c++ is object oriented.

51.What is a virtual base class?Virtual base class is a base class acts as an indirect base for more tha

n one without duplication of its data members.

Page 13: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 13/21

A single copy of its data members is shared by all the base classes thatuse it as a virtual base.

For example:A/ \

B C\ /

D

class A { /* ... */ }; // indirect base classclass B : virtual public A { /* ... */ };class C : virtual public A { /* ... */ };class D : public B, public C { /* ... */ }; // valid

Using the keyword virtual in this example ensures that an object of class D inherits only one subobject of class A.

52.What are the advantages and disadvantages of pointer in C language?The main advantages of using pointers are1.) Function cannot return more than one value. But when the same functi

on can modify many pointer variables andfunction as if it is returning more than one variable.

2.) In the case of arrays, we can decide the size of th array at runtimeby allocating the necessary space.

3.) In the case of pointers to classes, we can use polymorphism and virtual classes to change the behavior ofpointers to various types of classes at runtime

Coming to the disadvantages of pointers

1.) If sufficient memory is not available during runtime for the storageof pointers, the program may crash(least possible)

2.) If the programmer is not careful and consistent with the use of pointers, the program may crash(very possible)

53.Static Variable?A variable that retains the same data throughout the execution of a prog

ram. In contrast, a dynamic variable can havedifferent values during the course of a program.

54.What are the differences between a union and a structure in C?The difference between structure and union in c are: 1. union allocates

the memory equal to the maximum memoryrequired by the member of the union but structure allocates the memory equal tothe total memory required by the members.2. In union, one block is used by all the member of the union but in case of structure, each member have their own memoryspace

55.Advantages of Microcontroller compared to Microprocessor?

The advantages of microcontroller are that all MCUs have on-chip resources to achieve a higher level of integration and reliability at a lower cost. An

on-chip resource is a block of circuitry built into the MCU which performs someuseful function under control of the MCU. Built-in resources increase reliability because they do not require any external circuitry to be working for the resou

Page 14: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 14/21

rce to function. They are pre-tested by the manufacturer and conserve board space by integrating the circuitry into the MCU.

Some of the more popular on-chip resources are memory devices, timers, system clock/oscillator, and I/O. Memory devices include read/write memory (RAM),read-only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), and electrically erasable memory (EEM). The term EEM actually refers to an engineering development version of an MCU where EEPROM i

s substituted for the ROM to reduce development time.Timers include both real-time clocks and periodic interrupt timers. Othe

r timer functions include timer compare and/or input capture lines.I/O includes serial communication ports, parallel ports (I/O lines), ana

log-todigital (A/D) converters, digital-to-analog (D/A) converters, liquid crystal display drivers (LCD), and vacuum fluorescent display drivers (VFD).

Other built-in resources may include computer operating properly (COP) watchdog system which can be hardware or software based.at 6:47 AM

56.Binary Tree Program?

/*Binary Tree Travesals*/

#include

#include

#include

typedef struct bst

{

int data;

struct bst *left,*right;

}node;

void insert(node *, node *);

void inorder(node *);

void postorder(node *);

void preorder(node *);

node *get_node();

/*Main Function*/

void main()

{

int ch,ans=5;

node *New,*root;

root=NULL;

clrscr();

Page 15: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 15/21

while(1)

{

printf("\nEnter:\n1-Create\n2-Preorder\n3-Inorder\n4-Postorder\n5-Exit\n");

scanf("%d",&ch);

switch(ch)

{

case 1:

printf("\nEnter Elements 1 by 1: (0 to stop entering)\n");

do

{

New=get_node();

scanf("%d",&New->data);

ans=New->data;

if(ans!=0)

if(root==NULL)

root=New;

else

insert(root,New);

}while(ans!=0);

break;

case 2:

if(root==NULL)

printf("\nNo element In Tree\n");

else

{

printf("\n~~~PREORDER TRAVERSALS~~~\nThe Tree is:\n");

preorder(root);

}

break;

case 3:

Page 16: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 16/21

if(root==NULL)

printf("\nNo element In Tree\n");

else

{

printf("\n~~~INORDER TRAVERSALS~~~\nThe Tree is:\n");

inorder(root);

}

break;

case 4:

if(root==NULL)

printf("\nNo element In Tree\n");

else

{

printf("\n~~~POSTORDER TRAVERSALS~~~\nThe Tree is:\n");

postorder(root);

}

break;

default:

printf("\n~~~Exit~~~\n");

getch();

exit(0);

break;

}

}

}

/*Get node*/

node *get_node()

{

node *temp;

temp=(node *)malloc(sizeof(node));

Page 17: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 17/21

temp->left=NULL;

temp->right=NULL;

return temp;

}

/*Insert Function*/

void insert(node *root,node *New)

{

if(New->data < root->data)

{

if(root->left==NULL)

root->left=New;

else

insert(root->left,New);

}

if(New->data > root->data)

{

if(root->right==NULL)

root->right=New;

else

insert(root->right,New);

}

}

/*preorder Traversals*/

void preorder(node *temp)

{

if(temp!=NULL)

{

printf("-> %d ",temp->data);

preorder(temp->left);

preorder(temp->right);

Page 18: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 18/21

}

}

/*Inorder Traversals*/

void inorder(node *temp)

{

if(temp!=NULL)

{

inorder(temp->left);

printf("-> %d ",temp->data);

inorder(temp->right);

}

}

/*postorder Traversals*/

void postorder(node *temp)

{

if(temp!=NULL)

{

postorder(temp->left);

postorder(temp->right);

printf("-> %d ",temp->data);

}

}

OUTPUT:

/*Binary Tree Traversals*/

Enter:

1-Create 2-Preorder 3-Inorder 4-Postorder 5-Exit

1

Page 19: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 19/21

Enter Elements 1 by 1: (0 to stop entering)

5 3 7 2 4 6 9

0

Enter:

1-Create 2-Preorder 3-Inorder 4-Postorder 5-Exit

2

~~~PREORDER TRAVERSALS~~~

The Tree is:

-> 5 -> 3 -> 2 -> 4 -> 7 -> 6 -> 9

Enter:

1-Create 2-Preorder 3-Inorder 4-Postorder 5-Exit

3

~~~INORDER TRAVERSALS~~~

The Tree is:

-> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 9

Enter:

1-Create 2-Preorder 3-Inorder 4-Postorder 5-Exit

4

~~~POSTORDER TRAVERSALS~~~

The Tree is:

-> 2 -> 4 -> 3 -> 6 -> 9 -> 7 -> 5

Enter:

Page 20: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 20/21

1-Create 2-Preorder 3-Inorder 4-Postorder 5-Exit

5

or

#include<stdio.h>#include<conio.h>struct rec{long num;

struct rec *left;struct rec *right;};struct rec *tree=NULL;struct rec *insert(struct rec *tree,long num);void *exchange(struct rec *tree);struct rec *temp;void main(){ struct rec *tree=NULL;

int choice; long digit; do{

choice=select();switch(choice){

case 1: puts("Enter integer: To quit enter 0");scanf("%ld",&digit);while(digit!=0){tree=insert(tree,digit);scanf("%ld",&digit);}continue;case 2: printf("%5d\n",tree->num);exchange(tree);continue;

case 3: puts("END");exit(0);

}}while(choice!=3);

Page 21: HCL Commonly Asked Questions 2

8/8/2019 HCL Commonly Asked Questions 2

http://slidepdf.com/reader/full/hcl-commonly-asked-questions-2 21/21

}int select(){int selection;do{puts("Enter 1: Insert a node");

puts("Enter 2: Exchange subtrees");puts("Enter 3: End");

puts("Enter your choice");scanf("%d",&selection);if((selection<1)(selection>3)){puts("Wrong choice: Try again");getchar();}}while((selection<1)(selection>3));return selection;

}struct rec *insert(struct rec *tree,long digit){if(tree==NULL){tree=(struct rec *)malloc(sizeof(struct rec));tree->left=tree->right=NULL;

tree->num=digit;

}else

if(digit<tree->num)tree->left=insert(tree->left,digit);else if(digit>tree->num)tree->right=insert(tree->right,digit);else if(digit==tree->num){puts("Duplicates Nodes: Program Exited");exit(0);}return(tree);

}void *exchange(struct rec *tree)

{if((tree->left->num!=0)&&(tree->right->num!=0)){temp=tree->left;

tree->left=tree->right;tree->right=temp;printf("%5ld\n",tree->left->num);printf("%5ld\n",tree->right->num);exchange(tree->left);exchange(tree->right);}}