<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SHOUVIK</title>
    <description>The latest articles on DEV Community by SHOUVIK (@shouvik54768665).</description>
    <link>https://dev.to/shouvik54768665</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F469133%2F9998b9ed-46ff-48ae-8bd7-bc9f15b22112.jpg</url>
      <title>DEV Community: SHOUVIK</title>
      <link>https://dev.to/shouvik54768665</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shouvik54768665"/>
    <language>en</language>
    <item>
      <title>PYHTONEAR CONCISE AND PRECISE TUTORIAL</title>
      <dc:creator>SHOUVIK</dc:creator>
      <pubDate>Wed, 10 Mar 2021 21:28:17 +0000</pubDate>
      <link>https://dev.to/shouvik54768665/pyhtonear-concise-and-precise-tutorial-od3</link>
      <guid>https://dev.to/shouvik54768665/pyhtonear-concise-and-precise-tutorial-od3</guid>
      <description>&lt;p&gt;As we all know and believe too python to one of the popular and highly learned, preferred programming language because of its simplicity, even though its slow from rest of the others and because of its simplicity its has become lingua franca.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                     BASIC FUNDAMENTALS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Data types&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fca8dxuo9ueqept4jderf.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fca8dxuo9ueqept4jderf.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  A fundamental way for computers to differentiate different types of data using specific keywords.
&lt;/h4&gt;

&lt;p&gt;To represent numbers, to represent different types of numbers, to represent numbers more than 32 digit and etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Conditionals&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Decision making is one key aspect for every one of us in different types of their situation, in the same computers can be also allowed to make decision accurately by the developers. When faced with cases.&lt;/p&gt;

&lt;p&gt;Anyone can help computers in making decisions by knowing the decision-making principles of computers language.&lt;br&gt;
&lt;strong&gt;• Simple if statements:&lt;/strong&gt; To make easy decisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;• If-else:&lt;/strong&gt; To choose between any two choices of decision and to make the one which satisfies the need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;• If-elif-else chain:&lt;/strong&gt; Situations where more than two choices are possible but only one choice is needed to made. EX – greatest number among three.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;• Multiple elif Blocks:&lt;/strong&gt; Critical situations where computer are provided with several choices, it may be five or more than that and computers needs to decide according to condition.&lt;br&gt;
Ex: The Tic tac toe decision making.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7d7sayblnapj6w801ql.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7d7sayblnapj6w801ql.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Looping&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
The smart way of saving time and stop doing redundant task is to make computers follow instructions and get the work done using looping.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F38rz51l13vw1zim68b7x.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F38rz51l13vw1zim68b7x.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Common types of loops&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;• For loop&lt;/strong&gt;- The type of loop which iterates over the sequences of object, sequence are ordered collection of pairs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;• While loop&lt;/strong&gt; – The loop which works on Conditionals, terminates when the condition fails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Break and Continue Keywords:&lt;/strong&gt; There are two special keywords used in loops for breaking down infinite loops.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Break statements:&lt;/strong&gt;  stop execution, read and execute no more line and exit immediately from the loop. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continue statements:&lt;/strong&gt; Skip any further lines to execute and pass control back to the beginning of the loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Range:&lt;/strong&gt; Function generates sequence of numbers with starting default value as 0 and terminating at mentioned limit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="nx"&gt;starting&lt;/span&gt; &lt;span class="kd"&gt;with&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="nx"&gt;up&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nx"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="nx"&gt;starting&lt;/span&gt; &lt;span class="kd"&gt;with&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;upto&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Functions
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9zbo3d96v9s2q3omdhe.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9zbo3d96v9s2q3omdhe.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Functions&lt;/em&gt;&lt;/strong&gt; are blocks of codes consisting (variables, conditionals, loops, etc.) to accomplish different objective in a program, to perform specific task of the program.&lt;/p&gt;

&lt;p&gt;Functions are categorized into Library functions(built-in) and as User-defined (Customized functions), Library functions are built-in functions which are already created and can be used in program, whereas user-defined functions are yet to be created to fulfil the different need of the program accordingly. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Function creation:&lt;/em&gt;&lt;/strong&gt; In python function are created using &lt;strong&gt;&lt;em&gt;def keyword&lt;/em&gt;&lt;/strong&gt; followed by the name of the function, arguments in brackets and with a semicolon which indicates the end of the function header and start of the function definition with indentation in new line.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfbtwa2jjrqxxqzlzvdr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfbtwa2jjrqxxqzlzvdr.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;compute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;function definition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Arguments&lt;/strong&gt; &lt;br&gt;
&lt;strong&gt;1.Positional arguments:&lt;/strong&gt;Argument in which python matches every &lt;br&gt;
     argument.&lt;br&gt;
&lt;strong&gt;2.Keyword arguments:&lt;/strong&gt;The type of arguments in python in which &lt;br&gt;
     you directly associate variable with value, these arguments &lt;br&gt;
     don't require ordering.&lt;br&gt;
&lt;strong&gt;3.Default arguments:&lt;/strong&gt;The values of the arguments which are &lt;br&gt;
     mentioned previously.&lt;br&gt;
&lt;strong&gt;4.Arbitrary Number of arguments:&lt;/strong&gt;The type of argument in which &lt;br&gt;
     the any no. of arguments can be passed, &lt;br&gt;
     &lt;strong&gt;syntax: def(*parameters)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The function definition to run, we need to call the function which is called calling of the function. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Return statement:&lt;/strong&gt; The return statement reads in the function definition exit the function and returns back to the from where the function was called.&lt;br&gt;
Example of return statement;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;check_state&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;
         &lt;span class="nx"&gt;elif&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                 &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;
     &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;That's all, Thanks for reading I hope it was informative and easy to grasp tutorial to get started with python. From next tutorials we will focus on implementation.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Book:&lt;/strong&gt;&lt;a href="https://images-na.ssl-images-amazon.com/images/I/51Z6Vf5UwTL._SX376_BO1,204,203,200_.jpg" rel="noopener noreferrer"&gt;https://images-na.ssl-images-amazon.com/images/I/51Z6Vf5UwTL._SX376_BO1,204,203,200_.jpg&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Youtube:&lt;/strong&gt;&lt;a href="https://www.youtube.com/playlist?list=PLEbhahwkhw6x5-apCoE5Qf3M_gR0hhApJ" rel="noopener noreferrer"&gt;https://www.youtube.com/playlist?list=PLEbhahwkhw6x5-apCoE5Qf3M_gR0hhApJ&lt;/a&gt; &lt;/p&gt;

</description>
      <category>python</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Linked List Implementation</title>
      <dc:creator>SHOUVIK</dc:creator>
      <pubDate>Sat, 17 Oct 2020 12:28:42 +0000</pubDate>
      <link>https://dev.to/shouvik54768665/linked-list-implementation-1717</link>
      <guid>https://dev.to/shouvik54768665/linked-list-implementation-1717</guid>
      <description>&lt;p&gt;&lt;strong&gt;Linked List&lt;/strong&gt; are non-primitive data structure that contains a collection unordered linked elements known as Nodes.&lt;/p&gt;

&lt;p&gt;Linked List are linear data structure, which are not stored at a contiguous memory location.&lt;/p&gt;

&lt;p&gt;Linked list consist of nodes where each node has two sub fields one part of the field is the &lt;strong&gt;data field&lt;/strong&gt; and the other part is called the &lt;strong&gt;link field&lt;/strong&gt;, which stores the address of the next node, each link field helps in linking nodes and form a linked list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linked list individual block&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Struct Node {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   int data;
  Node* next; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;
  
  
  Why Linked list instead of arrays?
&lt;/h4&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Size of the linked list are dynamic but in case of arrays size are fixed. No further extra element can be added after compilation.&lt;/li&gt;
&lt;li&gt;Insertion of elements in array is dependent on the size of the array, In linked list insertion of elements are independent of the size.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Limitations&lt;/strong&gt;&lt;br&gt;
Extra space is needed for each node for the pointer field.&lt;br&gt;
Random access not possible, list has to be traversed to access target element, except the first element.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Linked list are classified into three types...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;• Single linked list : the type of list which has two field for each node one is the data field and other is the link field storing the address of the next node.&lt;/p&gt;

&lt;p&gt;• Double linked list: the two way list in which each node has three fields, a field which stores the previous node, a field which stores the link for the next node and the data filed.&lt;/p&gt;

&lt;p&gt;• Circular doubly linked list: Circular two way linked list, the circular doubly list does not contain NULL in the next field of the last node. The next field of the last node contain address of the first node of the list.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Linked list consist of head node which stores the link of the first node.&lt;/p&gt;

&lt;p&gt;Language used : C++.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Basic Implementation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Inserting of Node to the List:&lt;/strong&gt;: To add Node, we need to  dynamically allocate memory for Node creation, In C++ to dynamically allocate memory we use &lt;strong&gt;&lt;em&gt;new&lt;/em&gt;&lt;/strong&gt; keyword.&lt;/p&gt;

&lt;p&gt;To add Node to the list we need to pass the head reference and the value to inserted to the new Node.&lt;/p&gt;

&lt;p&gt;Before we created Linked list individual block.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;CODE&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Node  InsertNode(Node **head,int data ) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Node *temp=new Node; 
temp-&amp;gt;value=data;
temp-&amp;gt;next=head;
head=temp;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;}&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gz2A0k_L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ltc6p2psnw7bu4p28266.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gz2A0k_L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ltc6p2psnw7bu4p28266.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A pointer to node variable named &lt;strong&gt;temp&lt;/strong&gt; is created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We initialize the value to data field.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We initialize the Link field part by head value(which contains the address of the previous node).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the end head is pointed to newnode.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hence Link created.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traversing of Linked list:&lt;/strong&gt; Traversal on Linked list is done from the head node(node which stores the link of the first node), when Null is encountered while traversing, the Linked list has reached to the end.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;CODE&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;void print(Node *head)&lt;br&gt;
{&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Node *temp = *head;
cout &amp;lt;&amp;lt; "List is   ";
while (temp != NULL)
{
    cout &amp;lt;&amp;lt; temp-&amp;gt;data &amp;lt;&amp;lt; " ";
    temp = temp-&amp;gt;next;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;}&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A temp variable which takes the head node value.&lt;/li&gt;
&lt;li&gt;An iterative condition to traverse the list, until we reached to end.&lt;/li&gt;
&lt;li&gt;While we discover a node in the list we print its value.&lt;/li&gt;
&lt;li&gt;After printing the current Node value we update temp by pointing it to link field in the node.&lt;/li&gt;
&lt;li&gt;we repeat steps until we reach a node which points to NULL.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hence we traverse the List.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bV8SamRV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dx70w3mdncuemi17i423.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bV8SamRV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dx70w3mdncuemi17i423.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"**head" means pointer to pointer, to modify a pointer reference of the pointer is passed.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>beginners</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>     WEB CRAWLING</title>
      <dc:creator>SHOUVIK</dc:creator>
      <pubDate>Sun, 27 Sep 2020 15:44:49 +0000</pubDate>
      <link>https://dev.to/shouvik54768665/web-crawling-4kfa</link>
      <guid>https://dev.to/shouvik54768665/web-crawling-4kfa</guid>
      <description>&lt;h2&gt;
  
  
  INTRO
&lt;/h2&gt;

&lt;p&gt;Internet the world wide web generates 10Exabytes of information per day, but have we ever wondered how does our search engines provide us so relevant and expected information, while we search or how does our content or and blogs get priority and are available at first page of the search.&lt;/p&gt;

&lt;p&gt;In internet there are bots which are called spiders/crawlers which reads information we upload in internet, the spider then index the information, and provides the information relevancy by ranks of the page.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3dAKh4qn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6911qq7y1fjfnnr0jesn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3dAKh4qn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6911qq7y1fjfnnr0jesn.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Sounds curious. Let’s know how?&lt;/p&gt;

&lt;h4&gt;
  
  
  Search Engine Fundamentals (keywords).
&lt;/h4&gt;

&lt;p&gt;Search Engine undergoes three process when information is uploaded into internet.&lt;br&gt;
Crawling: Discover the information.&lt;br&gt;
Indexing: organize the information.&lt;br&gt;
Ranking: Available at the first page of the search among first 10 column.&lt;/p&gt;

&lt;h5&gt;
  
  
  Crawling
&lt;/h5&gt;

&lt;p&gt;A search engine navigates the web by downloading web pages following links on these pages to discover new pages. Crawlers also discover new pages by crawling sitemaps.&lt;/p&gt;

&lt;h5&gt;
  
  
  Indexing
&lt;/h5&gt;

&lt;p&gt;Organization of things, saves time and helps get the target one is looking for. Indexing is way of organization of information by search engine and help us retrieve relevant information one is looking for in World Wide Web.&lt;/p&gt;

&lt;h5&gt;
  
  
  Ranking:
&lt;/h5&gt;

&lt;p&gt;World wide web is huge, providing relevant information and updated is challenge, so search engine use “Page Rank” to find out the appropriate information’s, value of the each page is calculated by counting of number of links pointing to that page and hence page ranks accordingly relatively to others pages.&lt;/p&gt;

&lt;h4&gt;
  
  
  CRAWL PAGES AND EXTRACT INFORMATION
&lt;/h4&gt;

&lt;p&gt;Web scarping is one of the effective way of extracting information from the web and can be stored in formats such as excel, csv and the information can be used for decision making analysis.&lt;br&gt;
Let’s learn to use Web Crawler using shell.&lt;br&gt;
To build web crawler we can use Beautiful soup or Scrapy.&lt;/p&gt;

&lt;h5&gt;
  
  
  INSTALLATION
&lt;/h5&gt;

&lt;p&gt;Scrapy supports python 2 and 3. &lt;/p&gt;

&lt;h6&gt;
  
  
  In case Anaconda, install package from conda-forge channel.
&lt;/h6&gt;

&lt;p&gt;Install Scrapy using conda, run: &lt;/p&gt;

&lt;h5&gt;
  
  
  Conda install – conda –forge scrapy
&lt;/h5&gt;

&lt;h5&gt;
  
  
  In Linux use – pip install scrapy.
&lt;/h5&gt;

&lt;p&gt;Scrapy provides web-crawling shell knows as scrapy shell, that can be used to learn web spider functions.&lt;/p&gt;

&lt;p&gt;fetch (‘URL’) – A command in scrapy shell that downloads text and metadata.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Vxwe8AYa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1pt1dzjcp3gnoa2c88ry.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Vxwe8AYa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1pt1dzjcp3gnoa2c88ry.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
To run the crawler in the shell type: use fetch a link in between brackets.&lt;/p&gt;

&lt;p&gt;view(response)- A command which opens the webpage in the default browser.&lt;br&gt;
print(response.text)-  to view the raw HTML script in Scrapy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--18uQan9q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hzb8qvuu49mzszo19iww.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--18uQan9q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hzb8qvuu49mzszo19iww.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The command results in opening the downloaded page in default browser.&lt;/p&gt;

&lt;h5&gt;
  
  
  Extracting title of the product from the developer tools
&lt;/h5&gt;

&lt;h5&gt;
  
  
  To open developer tools right click and tab on INSPECT
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jY5snPTg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/iv6sszd2l5hr4n9p64hi.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jY5snPTg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/iv6sszd2l5hr4n9p64hi.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Find out the class which represents the title of the product
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AGCRq-rR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cr6d4nhcr3tecxk2kdqg.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AGCRq-rR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cr6d4nhcr3tecxk2kdqg.PNG" alt="Alt Text"&gt;&lt;/a&gt;                                                          response.css (‘span.a-size-extra-large::text’).extract() &lt;br&gt;
 Command to extract information of a particular       section(products_name).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---5Tz8KDR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mqrk0bd1p233j15i38aj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---5Tz8KDR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mqrk0bd1p233j15i38aj.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  CONCLUSION
&lt;/h3&gt;

&lt;p&gt;We can use crawler extract information from the websites.&lt;/p&gt;

&lt;p&gt;Thanks for Reading.&lt;/p&gt;

</description>
      <category>html</category>
    </item>
  </channel>
</rss>
