Saturday, November 8, 2014
The word "traverse" means "to go or travel across or over".
Uses of traversal:-
Uses of traversal:-
- If we want to modify each of the elements in the list then we need to travel across each element , there comes the need of traversal.
e.g. LIST = 1, 2, 3, 4, 5....
We want to add 0 to each of the element then we shall traverse the linked list. After traversing the list will be LIST:- 10,20,30,40,50....
Program to traverse a linked linked list :-
#include <stdio.h>
#include <stdlib.h>
/*www.TheTechmadness.in*/
int list[20];
int link[20];
int start;
void process(int);
void main()
{
int ptr;
list[0]=22;list[2]=5;list[3]=19;list[5]=87;list[7]=29;list[8]=79;
list[9]=33;list[11]=2;list[13]=50;list[14]=8;list[16]=55;list[18]=99;
link[0]=3;link[2]=13;link[3]=2;link[5]=8;link[7]=14;link[8]=9;link[9]=18;
link[11]=16;link[13]=5;link[14]=-1;link[16]=0;link[18]=7;
start=11;
ptr=start;
printf("initial list:\n");
while(ptr!=-1)
{
printf("%d\t",list[ptr]);
ptr=link[ptr];
}
ptr=start;
while(ptr!=-1)
{
process(ptr); //traversing list to apply process
ptr=link[ptr];
}
ptr=start;
printf("\n\nlist after traversal:\n");
while(ptr!=-1)
{
printf("%d\t",list[ptr]);
ptr=link[ptr];
}
getch();
}
void process(int p1)
{
list[p1]=list[p1]*10;
}
Output:-
initial list:
2 55 22 19 5 50 87 79 33 99
29 8
list after traversal:
20 550 220 190 50 500 870 790 330 990
290 80
What would you explain linked list to a person?
Consider a linked list to be a train where Engine is the head and you have flexibility to join locomotives or remove them . Each locomotives of the train is analogous to data node in a linked list, locomotives are connected in manner where person can go from locomotives to locomotives as you can traverse a linked list.
Insertion, deletion: Let's say train company find a locomotive to be faulty. They remove(delete) the faulty locomotive and insert a working locomotive
This would be a doubly linked list, for singly linked list you can put a restriction that person can traverse from head to last locomotives only.
Consider a linked list to be a train where Engine is the head and you have flexibility to join locomotives or remove them . Each locomotives of the train is analogous to data node in a linked list, locomotives are connected in manner where person can go from locomotives to locomotives as you can traverse a linked list.
Insertion, deletion: Let's say train company find a locomotive to be faulty. They remove(delete) the faulty locomotive and insert a working locomotive
This would be a doubly linked list, for singly linked list you can put a restriction that person can traverse from head to last locomotives only.
- In computer science, a linked list is a data structure consisting of a group of nodes which together represent a sequence. Under the simplest form, each node is composed of a data and a reference (in other words, a link) to the next node in the sequence; more complex variants add additional links.
- Unlike arrays , linked list can grow or shrink in size ( size of arrays is fixed e.g. a[10]). There is ease in doing insertion and deletion in linked list than arrays. In arrays , we have to shift elements during any insertion or deletion (if sorting is maintained).
- Unlike arrays, linked list elements are not stored at contiguous location; the elements are linked using pointers.
- That vectors/arrays are almost always faster because hardware memory access is optimized (caching, prefetch) for accessing contiguous addresses.
- It takes 4- 6 times the memory and 600-1000 times the CPU of a vector.
Uses of Linked List :-
- Linked lists can be used to implement stacks, queues, graphs, etc.
- Linked lists let you insert elements at the beginning and end of the list in O(1) time. This makes for efficient implementations of stacks, queues.
- Linked lists also remove the overhead of bothering about the size of the data structure. The size need not to be known in advance.
- They can also be used for the adjacency list representation of graphs.
- Hash tables with chaining is also possible.
More topics in linked list :-
Searching in Linked list
Insertion in Linked list
Deletion in linked list
Reversing Linked list
Header linked list
Circular Linked list
Doubly Linked list
Tuesday, September 16, 2014
LINKED LIST IN C :-
List means a sequence of items arranged one after another.
List means a sequence of items arranged one after another.
- A linked list is a data structure consisting of a group of nodes which together represent a sequence. Under the simplest form, each node is composed of a data and a reference (in other words, a link) to the next node in the sequence.
- Successive elements are connected by pointers.
- Last element points to NULL.
- It can grow ( during insertion) or shrink in size (in deletion) during execution of a program.
- It can be made just as long as required.
- It does not waste memory space. Dynamic memory allocation is often used in linked list.
- Linked lists were developed in 1955–1956 by Allen Newell, Cliff Shaw and Herbert A. Simon at RAND Corporation as the primary data structure for their Information Processing Language. IPL was used by the authors to develop several early artificial intelligence programs, including the Logic Theory Machine, the General Problem Solver, and a computer chess program.
- LISP, standing for list processor, was created by John McCarthy in 1958 while he was at MIT and in 1960 he published its design in a paper in the Communications of the ACM, entitled "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I". One of LISP's major data structures is the linked list.
Some Basic Terminology:-
1. malloc() :- malloc() is a system function which allocates a block of memory in the "heap" and returns a pointer to the new block. The prototype for malloc() and other heap functions are in stdlib.h.
2. free() :- free() is the opposite of malloc.
Creating linked list :-
Node :- The type for the nodes which will make up the body of the list.
These are allocated in the heap. Each node contains a single client data
element and a pointer to the next node in the list.
struct node {
int data;
struct node* next;
} *head, *temp;
A simple baby example of linked list :-
struct node* BuildOneTwoThree()
{
struct node* head = NULL;
struct node* second = NULL;
struct node* third = NULL;
head = malloc(sizeof(struct node)); // allocate 3 nodes in the heap
second = malloc(sizeof(struct node));
third = malloc(sizeof(struct node));
head->data = 1; // setup first node
head->next = second; // note: pointer assignment rule
second->data = 2; // setup second node
second->next = third;
third->data = 3; // setup third link
third->next = NULL;
}
INSERTION IN BEGINNING OF A LINKED LIST
Now we will insert data in beginning of the linked list in a temporary variable 'temp' and after insertion we will assign the value of temp in 'head' variable.
Logic:- As we go on inserting data in temp , new temp node data should be assigned into head.
Function:-
struct node
{
int data;
struct node* next;
}*head,*temp; // global variable, can be accessed anywhere
void insert(int x)
{
temp=malloc(sizeof(struct node));
temp->data=x;
temp->next=head; //give the link part to previous head node
head=temp; //now assign newly created node as head
}
Saturday, September 6, 2014
DETECT AUDIO ON YOUTUBE
You might have seen people commenting on a video commenting-"2:42 song please or which music is at x:xx. Below mentioned sites might help you in extracting those audios and providing you details about them if available in their databases.
1. Audentifi: Shazam for YouTube :- Audentifi scans through YouTube videos to pick out and identify each of the individual songs so that you can discover new music.
2. TRACKCHA :- Trackcha takes any YouTube or Vimeo video and magically finds out what songs are playing in it.
3. AUDIGGLE :- Audiggle is the brand new software which can instantly tell you the song and artist name of anything playing on your PC. It requires registration before you use it.
Tuesday, August 12, 2014
On August 12, 2014 by Arun Verma in compuer errors error 404, error 500, errors, runtime error, window errors No comments
Errors in computer world
1. Programming errors
While writing c programs, errors also known as bugs in the world of programming may occur unwillingly which may prevent the program to compile and run correctly as per the expectation of the programmer.Basically there are three types of errors in c programming:
- Runtime Errors
- Compile Errors
- Logical Errors
1.C Runtime Errors
Examples of some illegal operations that may produce runtime errors are:
- Dividing a number by zero
- Trying to open a file which is not created
- Lack of free memory space
2.Compile Errors
3. Syntax Errors
For example, consider the statement,
int a,b:
The above statement will produce syntax error as the statement is terminated with : rather than ;4. Semantic Errors
For example, consider the statement,
b+c=a;
In the above statement we are trying to assign value of a in the value obtained by summation of b and c which has no meaning in c. The correct statement will bea=b+c;
5. Logical Errors
Logical errors are the errors in the output of the program. The presence of logical errors leads to undesired or incorrect output and are caused due to error in the logic applied in the program to produce the desired output.Also, logical errors could not be detected by the compiler, and thus, programmers has to check the entire coding of a c program line by line.
2. Types of Window Errors
- System errors – These are moderately dangerous types of errors among those that can pop up on your PC. System errors are caused by malfunctioning hardware components, corrupted operating system modules, etc.
- Runtime errors – Runtime errors are caused by corrupted or malfunctioning system files or software executables. Most runtime errors cause the application that caused it to shut down. However, more serious runtime errors may cause the system to become unstable or unresponsive, leaving you with no choice but to reach for the Reset button.
- Stop errors – Stop errors are caused by corrupted hardware, especially malfunctioning RAM modules and bad sectors on hard disks. Stop errors can be difficult to resolve at times. If you get Stop errors continuously on your PC, call up a system engineer to check your PC.
- Device Manager errors – These are usually caused by corrupted driver files or malfunctioning hardware components. In case of the former cause, the problem is usually solved simply by reinstalling or updating the drivers. However, the latter cause can often be solved only by replacing hardware components.
- POST code errors – POST code errors are caused by malfunctioning hardware components, and are characterized by short beep sounds from the tiny internal speaker of your motherboard. POST code errors occur when you press the power button to turn on your PC. If you are getting POST code errors in your PC, you should get your CPU checked by a system engineer.
- Application errors – These can be caused at any point of time. As the name suggests, these are caused by applications while those are running. These are usually caused by glitches in the program code itself. These are usually resolved by updating the program to its latest version.
- Browser Status Codes – These are caused by problems faced by browsers when trying to access a website. These can be caused by misplaced web pages in the server of the website itself, or due to connection problems. For instance, a 404 error would indicate that the browser is trying to access a webpage that does not exist in the specified location.
3. Types of web errors:-
4xx Client Error

- 400 Bad Request
- The request cannot be fulfilled due to bad syntax.
- 401 Unauthorized
- Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication.
- 402 Payment Required
- Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, but that has not happened, and this code is not usually used. YouTube uses this status if a particular IP address has made excessive requests, and requires the person to enter a CAPTCHA.
- 403 Forbidden
- The request was a valid request, but the server is refusing to respond to it. Unlike a 401 Unauthorized response, authenticating will make no difference.
- 404 Not Found
- The requested resource could not be found but may be available again in the future. Subsequent requests by the client are permissible.
- 405 Method Not Allowed
- A request was made of a resource using a request method not supported by that resource; for example, using GET on a form which requires data to be presented via POST, or using PUT on a read-only resource.
- 406 Not Acceptable
- The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.
- 407 Proxy Authentication Required
- The client must first authenticate itself with the proxy.
- 408 Request Timeout
- The server timed out waiting for the request. According to HTTP specifications: "The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time."
- 409 Conflict
- Indicates that the request could not be processed because of conflict in the request, such as an edit conflict in the case of multiple updates.
- 410 Gone
- Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource again in the future. Clients such as search engines should remove the resource from their indices. Most use cases do not require clients and search engines to purge the resource, and a "404 Not Found" may be used instead.
- 411 Length Required
- The request did not specify the length of its content, which is required by the requested resource.
- 412 Precondition Failed
- The server does not meet one of the preconditions that the requester put on the request.
- 413 Request Entity Too Large
- The request is larger than the server is willing or able to process.
- 414 Request-URI Too Long
- The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request, in which case it should be converted to a POST request.
- 415 Unsupported Media Type
- The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.
- 416 Requested Range Not Satisfiable
- The client has asked for a portion of the file, but the server cannot supply that portion. For example, if the client asked for a part of the file that lies beyond the end of the file.
- 417 Expectation Failed
- The server cannot meet the requirements of the Expect request-header field.
- 418 I'm a teapot (RFC 2324)
- This code was defined in 1998 as one of the traditional IETF April Fools' jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol, and is not expected to be implemented by actual HTTP servers.
- 419 Authentication Timeout (not in RFC 2616)
- Not a part of the HTTP standard, 419 Authentication Timeout denotes that previously valid authentication has expired. It is used as an alternative to 401 Unauthorized in order to differentiate from otherwise authenticated clients being denied access to specific server resources.[
- 420 Method Failure (Spring Framework)
- Not part of the HTTP standard, but defined by Spring in the HttpStatus class to be used when a method failed. This status code is deprecated by Spring.
- 420 Enhance Your Calm (Twitter)
- Not part of the HTTP standard, but returned by version 1 of the Twitter Search and Trends API when the client is being rate limited.Other services may wish to implement the 429 Too Many Requests response code instead.
- 422 Unprocessable Entity (WebDAV; RFC 4918)
- The request was well-formed but was unable to be followed due to semantic errors.
- 423 Locked (WebDAV; RFC 4918)
- The resource that is being accessed is locked.
- 424 Failed Dependency (WebDAV; RFC 4918)
- The request failed due to failure of a previous request (e.g., a PROPPATCH).
- 426 Upgrade Required
- The client should switch to a different protocol such as TLS/1.0.
- 428 Precondition Required (RFC 6585)
- The origin server requires the request to be conditional. Intended to prevent "the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict."
- 429 Too Many Requests (RFC 6585)
- The user has sent too many requests in a given amount of time. Intended for use with rate limiting schemes.
- 431 Request Header Fields Too Large (RFC 6585)
- The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.
- 440 Login Timeout (Microsoft)
- A Microsoft extension. Indicates that your session has expired.
- 444 No Response (Nginx)
- Used in Nginx logs to indicate that the server has returned no information to the client and closed the connection (useful as a deterrent for malware).
- 449 Retry With (Microsoft)
- A Microsoft extension. The request should be retried after performing the appropriate action.
- Often search-engines or custom applications will ignore required parameters. Where no default action is appropriate, the Aviongoo website sends a "HTTP/1.1 449 Retry with valid parameters: param1, param2, . . ." response. The applications may choose to learn, or not.
- 450 Blocked by Windows Parental Controls (Microsoft)
- A Microsoft extension. This error is given when Windows Parental Controls are turned on and are blocking access to the given webpage.
- 451 Unavailable For Legal Reasons (Internet draft)
- Defined in the internet draft "A New HTTP Status Code for Legally-restricted Resources". Intended to be used when resource access is denied for legal reasons, e.g.censorship or government-mandated blocked access. A reference to the 1953 dystopian novel Fahrenheit 451, where books are outlawed.
- 451 Redirect (Microsoft)
- Used in Exchange ActiveSync if there either is a more efficient server to use or the server cannot access the users' mailbox.
- The client is supposed to re-run the HTTP Autodiscovery protocol to find a better suited server.
- 494 Request Header Too Large (Nginx)
- Nginx internal code similar to 431 but it was introduced earlier in version 0.9.4 (on January 21, 2011).
- 495 Cert Error (Nginx)
- Nginx internal code used when SSL client certificate error occurred to distinguish it from 4XX in a log and an error page redirection.
- 496 No Cert (Nginx)
- Nginx internal code used when client didn't provide certificate to distinguish it from 4XX in a log and an error page redirection.
- 497 HTTP to HTTPS (Nginx)
- Nginx internal code used for the plain HTTP requests that are sent to HTTPS port to distinguish it from 4XX in a log and an error page redirection.
- 498 Token expired/invalid (Esri)
- Returned by ArcGIS for Server. A code of 498 indicates an expired or otherwise invalid token.
- 499 Client Closed Request (Nginx)
- Used in Nginx logs to indicate when the connection has been closed by client while the server is still processing its request, making server unable to send a status code back.
- 499 Token required (Esri)
- Returned by ArcGIS for Server. A code of 499 indicates that a token is required (if no token was submitted).
5xx Server Error
The server failed to fulfil an apparently valid request.
Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method.
- 500 Internal Server Error
- A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
- 501 Not Implemented
- The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
- 502 Bad Gateway
- The server was acting as a gateway or proxy and received an invalid response from the upstream server.
- 503 Service Unavailable
- The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.
- 504 Gateway Timeout
- The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
- 505 HTTP Version Not Supported
- The server does not support the HTTP protocol version used in the request.
- 506 Variant Also Negotiates (RFC 2295)
- Transparent content negotiation for the request results in a circular reference.
- 507 Insufficient Storage (WebDAV; RFC 4918)
- The server is unable to store the representation needed to complete the request.
- 508 Loop Detected (WebDAV; RFC 5842)
- The server detected an infinite loop while processing the request .
- 509 Bandwidth Limit Exceeded (Apache bw/limited extension)
- This status code is not specified in any RFCs. Its use is unknown.
- 510 Not Extended (RFC 2774)
- Further extensions to the request are required for the server to fulfil it.
- 520 Origin Error (Cloudflare)
- This status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal an "unknown connection issue between CloudFlare and the origin web server" to a client in front of the proxy.
- 521 Web server is down (Cloudflare)
- This status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to indicate that the origin webserver refused the connection.
- 522 Connection timed out (Cloudflare)
- This status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal that a server connection timed out.
- 523 Proxy Declined Request (Cloudflare)
- This status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal a resource that has been blocked by the administrator of the website or proxy itself.
- 524 A timeout occurred (Cloudflare)
- This status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal a network read timeout behind the proxy to a client in front of the proxy.
- 598 Network read timeout error (Unknown)
- This status code is not specified in any RFCs, but is used by Microsoft HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.
- 599 Network connect timeout error (Unknown)
- This status code is not specified in any RFCs, but is used by Microsoft HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.
Sunday, August 10, 2014
On August 10, 2014 by Arun Verma in life links No comments
Life Links 1
Life Links contains links to some most amazing, praiseful, wonderful posts and Blogs that will show me the path of light.
1.What are some smart moves a 22-year-old can make as soon as he/she starts earning?
Find the ans. at quora:- http://qr.ae/kWd7s
2. 10 Things You Need To Drop To Stay Motivated :-
When you have confidence,
you can have a lot of fun.
And when you have fun,
you can do amazing things.
On August 10, 2014 by Arun Verma in angry birds, best android, candy crush, fruit ninja, hill climb racing, subway surfer, temple run, top android games, top downloaded games, top mobile games
Top Downloaded Free Mobile Games
1. Angry Birds :- Angry Birds is a puzzle video game developed by Finnish computer game developer Rovio Entertainment that started the Angry Birds franchise was launched firstly in december 2009 for ios.
With more than 400 million downloads on ios, android, blackberry and windows phone, it tops the list.
2. Fruit Ninja :- Fruit Ninja is a video game developed by Halfbrick Studios in Brisbane, Australia. It was released April 21, 2010 for iPod Touch and iPhone devices, July 12, 2010 for the iPad, September 17, 2010 for Android OS devices. It was released for Windows Phone on December 22, 2010. Now it has reached more than 350 million downloads in 2013.
3. Temple Run :- Temple Run is a 2011 endless running video game developed and published by the Raleigh-based Imangi Studios. Temple run and Temple run 2 have crossed more than 150 million downloads.
4. Subway Surfers :- Subway Surfers is an "endless running" mobile game co-developed by Kiloo a private company based in Denmark and SYBO Games. It is available on Android, iOS and Windows Phone platforms. Players of the game take the role of youthful hooligans who, upon being caught in the act of applying graffiti to a metro railway site, take off down the tracks to escape the inspector and his dog. As the hooligan avatars run, they grab gold coins out of the air while simultaneously dodging collisions with railway cars and other objects.
5. Candy crush saga :- Candy Crush Saga is a match-three puzzle video game released by the developer King on April 12, 2012 for Facebook, and on November 14, 2012 for smartphones. As of March 2013, Candy Crush Saga surpassed FarmVille 2 as the most popular game on Facebook, with 46 million average monthly users.
6. Hill climb Racing :- Developed by Fingersoft a Finland based company, hill climb racing game is a 2-d environment game in which you have to control your bikes and cars while climbing through mountains and difficult terrains by using only two controls. It has surpassed more than 100 million downloads on play store.
Subscribe to:
Posts (Atom)
Search
Popular Posts
-
DETECT AUDIO ON YOUTUBE You might have seen people commenting on a video commenting-"2:42 song please or which music is at x:xx. B...
-
7 Must have softwares for a web developer 1. Browser: Mozilla Firefox Web Developer tool of Mozilla Firefox is very good. Another...
-
What would you explain linked list to a person? Consider a linked list to be a train where Engine is the head and you have flexibility t...
-
The word "traverse" means "to go or travel across or over". Uses of traversal:- If we want to modify each of the ...
-
Computer cooling systems 1. Air cooling system:- Air cooling is done by use of normal fans and exhaust fans to throw the heat out of th...
-
LINKED LIST IN C :- List means a sequence of items arranged one after another. A linked list is a data structure con...
-
TOP TEN GAMES SUPPOSED TO HAVE BEST GRAPHICS This is top ten graphics game that have stunning visuals and graphics. Some of these games ...
-
Repair Your Pendrive Error 1: Pendrive not showing the actual size on formatting also. Sometimes when you format your pen drive , i...
-
Errors in computer world 1. Programming errors While writing c programs, errors also known as bugs in the world of programming may occ...
-
Cloud computing In this post we are going to know detail about cloud OSes, cloud storage. There will also be a comparison between diff...