Monday, 26 August 2013

Differences between arrays and linked lists

1) Major difference lies in the Memory Structure:
Arrays-contiguous memory allocation and if contiguous memory available is less than the total array requirement, then the array cant be allotted the memory.

But It is not necessary in the case of linked list to store next element at the Consecutive memory Location .
Element is stored at any available Location , but the Pointer to that memory location is stored in Previous Node.

2) Accessing the elements:
Array elements can be randomly Accessed using Subscript Variable
e.g a[0],a[1],a[3] can be randomly accessed
While in Linked List We have to traverse through the Linked List for Accessing Element. So O(n) Time required for Accessing Element .
Generally in linked List, elements are accessed Sequentially.

3) Insertion and Deletion
As the Array elements are stored in Consecutive memory Locations, so While Inserting elements ,we have to create space for Insertion. So, more time required for Creating space and Inserting Element. Similarly, we have to Delete the Element from given Location and then Shift All successive elements up by 1 position.

In Linked Lists, we have to Just Change the Pointer address field (Pointer),So Insertion and Deletion Operations are quite easy to implement.

4) Memory Allocation :
Memory Should be allocated at Compile-Time in array. i.e at the time when Programmer is Writing Program. => fixed size
In Linked list, memory can be allocated at Run-Time , i.e after executing Program.

-> Arrays uses Static Memory Allocation and Linked List Uses Dynamic Memory Allocation.


PORT Numbers:

port is an application-specific or process-specific software construct serving as a communications endpoint in a computer's host operating system.

HTTP - 80 (Hyper Text Transfer Protocol)
HTTPS - 443 ( HTTP with SSL/TLS)
FTP - 21 ( File Transfer Protocol )
SMTP - 25 ( Simple Mail Transfer Protocol )
IMAP - 143 ( Internet Mail Access Protocol )
POP3 - 110 Post Office Protocol )

Transport Layer Security (TLS
Secure Sockets Layer (SSL)


Before we start'G' for 'Generation'.....
               Each Generation is defined as a set of telephone network standards, which detail the technological implementation of a particular mobile phone system.

1G - Analog

Introduced in 1987 by Telecom (known today as Telstra).
The technology behind 1G was the AMPS (Advanced Mobile Phone System) network. AMPS was a voice-only network operating on the 800MHz band.
It did have one advantage over later 2G networks - coverage. An AMPS user could connect to a cell tower as far as the signal could be transmitted (often >40km depending on terrain).

1G was the first generation of mobile networks. Here basically, radio signals were transmitted in ‘Analogue’ form and expectedly, one was not able to do much other than sending text messaging and making calls. But the biggest disadvantage, however came in the form of limited network availability, as in the network was available only within the country.

2G - Digital

Fast forward to 1993 Telecom, now known as Telstra, introduces the digital network.
Text messaging, multimedia messaging, internet access, etc, and also introduced us to the SIM card.

GSM - Global System for Mobile Communication
CDMA Code Division Multiple Access. 

2G networks on the other hand, were based on narrow band digital networks. Signals were transmitted in the digital format and this dramatically improved the quality of calls and also reduced the complexity of data transmission. The other advantage of the 2G network came in the form of Semi Global Roaming System, which enabled the connectivity all over the world.

EDGE - Enhanced Data Rates for GSM Evolution.

Between 2G and 3G there was a short phase in between where mobile phones became sleeker and more ‘pocketable’ if we can call it that.  This is popularly referred to as 2.5G where the quantity of radio waves to be transmitted was much lower. This in turn had an effect on the shape and structure of mobile phones. But most of all, 2.5G helped in the ushering of GPRS (General Pocket Radio Service).

3G - The Mobile Broadband Revolution

The 3rd generation of mobile networks has become popular largely thanks to the ability of users to access the Internet over devices like mobiles and tablets. The speed of data transmission oG network ranges between 384KBPS to 2MBPS. This means a 3G network actually allows for mn a 3ore data transmission and therefore the network enables voice and video calling, file transmission, internet surfing, online TV, view high definition videos, play games and much more.  3G is the best option for users who need to always stay connected to Internet.

The new network also employs a much more secure encryption algorithm when transmitting over the air. 3G uses a 128-bit A5/3 stream cipher which, unlike A5/1 used in GSM (which can be cracked in near real-time using a ciphertext-only attack), has no known practical weaknesses.

4G - LTE-Advanced

4th Generation mobile networks are believed to provide many value added features. In addition to all the 3G facilities, data transmission is believed to go through the roof with speeds ranging between 100MBPs to 1GBPS.
Join me on Facebook