<?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: Veeranki Phani Sirisha</title>
    <description>The latest articles on DEV Community by Veeranki Phani Sirisha (@phanisirisha-46).</description>
    <link>https://dev.to/phanisirisha-46</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%2F1504912%2F07de3cad-27f5-435c-a09e-ee5f9bf5482f.png</url>
      <title>DEV Community: Veeranki Phani Sirisha</title>
      <link>https://dev.to/phanisirisha-46</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/phanisirisha-46"/>
    <language>en</language>
    <item>
      <title>Bridging the Gap — From Theory to Reality</title>
      <dc:creator>Veeranki Phani Sirisha</dc:creator>
      <pubDate>Fri, 20 Mar 2026 03:12:15 +0000</pubDate>
      <link>https://dev.to/phanisirisha-46/bridging-the-gap-from-theory-to-reality-2l5a</link>
      <guid>https://dev.to/phanisirisha-46/bridging-the-gap-from-theory-to-reality-2l5a</guid>
      <description>&lt;p&gt;Every phase of learning teaches us something new — but one realization keeps repeating itself:&lt;br&gt;
&lt;strong&gt;What we learn in theory is often very different from what we experience in practice.&lt;/strong&gt;&lt;br&gt;
This gap is not a flaw. It is a journey — a transformation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;School Academics vs Real Experiments&lt;/strong&gt;&lt;br&gt;
In school, we were taught concepts with perfect definitions, structured answers, and predictable outcomes.&lt;br&gt;
But when we stepped into real experiments:&lt;br&gt;
Results were not always exact&lt;br&gt;
Mistakes became part of learning&lt;br&gt;
Understanding mattered more than memorization&lt;br&gt;
Theory gave us direction. Practice gave us depth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web Technologies vs Real Implementation&lt;/strong&gt;&lt;br&gt;
When learning web development, everything seems simple:&lt;br&gt;
HTML builds structure&lt;br&gt;
CSS adds design&lt;br&gt;
JavaScript adds logic&lt;br&gt;
But in real-world implementation:&lt;br&gt;
Debugging takes more time than coding&lt;br&gt;
Integrations break unexpectedly&lt;br&gt;
Deployment issues test patience&lt;br&gt;
We realize that building a project is not just about writing code — it is about problem-solving, adaptability, and persistence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI &amp;amp; GPT — The Final Layer of Realization&lt;/strong&gt;&lt;br&gt;
With tools like GPT, everything feels even more powerful.&lt;br&gt;
We can:&lt;br&gt;
Generate solutions instantly&lt;br&gt;
Get explanations quickly&lt;br&gt;
Build ideas faster&lt;br&gt;
But even here, reality teaches us:&lt;br&gt;
Not every output is correct&lt;br&gt;
Verification is essential&lt;br&gt;
Understanding matters more than generation&lt;br&gt;
AI is a tool — not a replacement for thinking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Emotions: From Seeing to Knowing the Truth&lt;/strong&gt;&lt;br&gt;
At first, emotions are shaped by what we see —&lt;br&gt;
everything looks perfect, exciting, and full of hope.&lt;br&gt;
We imagine:&lt;br&gt;
Happiness will be constant&lt;br&gt;
Things will go as expected&lt;br&gt;
People and situations will match our thoughts&lt;br&gt;
But as we move forward and experience reality,&lt;br&gt;
emotions begin to change.&lt;br&gt;
We learn that:&lt;br&gt;
Not everything is as it appears&lt;br&gt;
Expectations don’t always meet reality&lt;br&gt;
Strength comes from accepting the truth&lt;br&gt;
This journey from seeing to knowing is not easy —&lt;br&gt;
but it is necessary.&lt;br&gt;
Because in that transition,&lt;br&gt;
&lt;strong&gt;we don’t just understand the world better… And it's not needed; &lt;br&gt;
we understand ourselves better.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Job Selection vs Real Office Work&lt;/strong&gt;&lt;br&gt;
Choosing a job often feels like choosing a dream:&lt;br&gt;
Good role&lt;br&gt;
Good company&lt;br&gt;
Good expectations&lt;br&gt;
But real office work brings new lessons:&lt;br&gt;
Collaboration matters more than individual effort&lt;br&gt;
Learning never stops&lt;br&gt;
Challenges are constant&lt;br&gt;
The transition from student to professional is where theory truly meets reality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A New Beginning&lt;/strong&gt;&lt;br&gt;
Through all these phases, one thing becomes clear:&lt;br&gt;
Growth happens in the gap between theory and practice.&lt;br&gt;
This gap teaches us:&lt;br&gt;
Patience&lt;br&gt;
Resilience&lt;br&gt;
Real understanding&lt;/p&gt;

&lt;p&gt;And today, I stand at a new beginning.&lt;/p&gt;

&lt;p&gt;✨ A new journey starts now.&lt;br&gt;
✨ With lessons learned, experiences gained, and hope in my heart.&lt;br&gt;
✨ I wish to move forward, to grow, and to go on in peace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💭 Final Thought&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Theory shows us the path, but practice teaches us how to walk it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And I am ready to walk mine.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;— Phani Sirisha Veeranki&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>learning</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My WE Journey</title>
      <dc:creator>Veeranki Phani Sirisha</dc:creator>
      <pubDate>Tue, 18 Mar 2025 13:15:11 +0000</pubDate>
      <link>https://dev.to/phanisirisha-46/my-we-journey-55on</link>
      <guid>https://dev.to/phanisirisha-46/my-we-journey-55on</guid>
      <description>&lt;p&gt;&lt;strong&gt;My Journey as a Women Engineer Scholar: A Tale of Growth and Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As a Women Engineer Scholar, my journey has been a remarkable blend of learning, growth, and exploration. Being selected among the top 1% of 22,000 applicants in the &lt;em&gt;Women Engineers Program&lt;/em&gt; by TalentSprint, supported by Google, was a turning point that allowed me to sharpen my technical and corporate skills. This program has not only empowered me with knowledge but also instilled confidence to excel in the tech industry.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Discovering My Passion for Technology&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;From the beginning, I had a natural inclination toward problem-solving and exploring the world of technology. This passion drove me to take on multiple projects, including building a &lt;strong&gt;Fetal Health Classification System&lt;/strong&gt; and a &lt;strong&gt;Text Summarizer&lt;/strong&gt; using Google Cloud and Vertex AI. These experiences enhanced my practical knowledge and deepened my understanding of real-world applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Upskilling and Thriving&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The rigorous curriculum and mentorship offered through the Women Engineers Program allowed me to develop proficiency in various technologies. Through hands-on training and exposure to advanced tools, I gained expertise in &lt;strong&gt;Frontend Web Development, Python, and AI/ML technologies.&lt;/strong&gt; These skills empowered me to successfully develop and deploy projects that showcase my technical acumen.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Leadership and Collaboration&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;My participation in the Aspire Leaders Program, initiated by Harvard Business School professors, enriched my leadership abilities and broadened my perspectives. The collaborative environment, where I interacted with like-minded peers and mentors, taught me the value of teamwork and perseverance.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Open Source and Innovation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Fueled by a zeal for open-source contributions, I took part in projects like &lt;strong&gt;AquaShrimp&lt;/strong&gt;, where I contributed to building a responsive header for a prawn farming website. Additionally, I aspire to become an active contributor in programs like the &lt;strong&gt;GirlScript Summer of Code&lt;/strong&gt; to further hone my open-source skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Overcoming Challenges with Resilience&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Coming from a humble background where my father is a daily wage worker and my mother is a homemaker, I’ve witnessed firsthand the importance of determination and resilience. These experiences have shaped me into someone who thrives under challenges and remains committed to achieving her goals.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A Future Full of Possibilities&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As I continue my journey in the tech world, I aim to contribute to society by using technology to solve real-world problems. Whether it’s through innovative projects or contributing to open source, I’m driven by a desire to make a lasting impact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My journey as a Women Engineer Scholar has not just been about learning but about transforming challenges into opportunities. I’m excited to continue this journey, growing with every step and contributing to a better technological future.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;✨ &lt;em&gt;"Empowered by knowledge, driven by passion, and ready to make a difference!"&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cracking the Code: My Smart Interviews Journey</title>
      <dc:creator>Veeranki Phani Sirisha</dc:creator>
      <pubDate>Wed, 19 Feb 2025 05:45:26 +0000</pubDate>
      <link>https://dev.to/phanisirisha-46/cracking-the-code-my-smart-interviews-journey-1a7n</link>
      <guid>https://dev.to/phanisirisha-46/cracking-the-code-my-smart-interviews-journey-1a7n</guid>
      <description>&lt;p&gt;&lt;strong&gt;Cracking the Code: My Smart Interviews Journey&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In today's fast-paced tech world, mastering Data Structures and Algorithms (DSA) is essential for any aspiring software developer. My experience with &lt;strong&gt;Smart Interviews Training&lt;/strong&gt; was truly transformative, strengthening my problem-solving skills and refining my coding approach. With dedication, consistency, and expert guidance, I navigated this rigorous course and emerged with greater confidence.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Embarking on the Smart Interviews Journey&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;From the moment I enrolled in the Smart Interviews Training program, I knew I was stepping into an opportunity that would shape my technical foundation. The course covered a vast array of topics that are essential for acing coding interviews. These included:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Introduction to DSA&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Data Structures and Algorithms (DSA) form the backbone of efficient programming. Learning DSA helps in writing optimized code and solving problems effectively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Python example of a simple function using an array
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;find_max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&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="nf"&gt;find_max&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;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Understanding Complexities&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Time and space complexity determine the efficiency of an algorithm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Time Complexity: O(n)
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;linear_search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&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="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Arrays &amp;amp; Strings&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Arrays store elements in contiguous memory locations, while strings are sequences of characters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Reverse a string
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;reverse_string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[::&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&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="nf"&gt;reverse_string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hello&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Stacks &amp;amp; Queues&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Stacks follow LIFO (Last In, First Out) and queues follow FIFO (First In, First Out).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Stack implementation using list
&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&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="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Recursion &amp;amp; Backtracking Algorithms&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Recursion helps in solving problems by breaking them into subproblems, while backtracking is used in constraint satisfaction problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Factorial using recursion
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;factorial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nf"&gt;factorial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&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="nf"&gt;factorial&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Divide and Conquer Algorithms&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This technique divides a problem into smaller subproblems and solves them independently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Merge Sort
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;merge_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;mid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
        &lt;span class="n"&gt;L&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="n"&gt;mid&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;R&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mid&lt;/span&gt;&lt;span class="p"&gt;:]&lt;/span&gt;
        &lt;span class="nf"&gt;merge_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;L&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nf"&gt;merge_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;R&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
        &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;L&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;R&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;L&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;R&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
                &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;L&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;R&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
                &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;merge_sort&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;3&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;4&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;5&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Searching and Sorting Algorithms&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Sorting algorithms arrange elements in a particular order, and searching algorithms help find elements efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Binary Search (O(log n))
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;binary_search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;right&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="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;mid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mid&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;mid&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mid&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mid&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mid&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Greedy Algorithms&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Greedy algorithms build up solutions piece by piece and choose the most optimal solution at every step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Activity Selection Problem
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;activity_selection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;activities&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;activities&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;x&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="n"&gt;last_end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;selected&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;activities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="n"&gt;last_end&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;selected&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
            &lt;span class="n"&gt;last_end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;selected&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Linked Lists &amp;amp; Hashing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Linked lists store elements as nodes with pointers, and hashing provides quick access to data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Simple Hash Table using Dictionary
&lt;/span&gt;&lt;span class="n"&gt;hash_table&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="n"&gt;hash_table&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Alice&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hash_table&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;  &lt;span class="c1"&gt;# Output: Alice
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Trees &amp;amp; Heaps&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Trees represent hierarchical data, while heaps are used for priority queues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Binary Tree Node
&lt;/span&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Node&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Graphs &amp;amp; Dynamic Programming&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Graphs model relationships, while dynamic programming optimizes solutions by reusing subproblem results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Fibonacci using Dynamic Programming
&lt;/span&gt;&lt;span class="n"&gt;fib_cache&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;fibonacci&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;fib_cache&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;fib_cache&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;
    &lt;span class="n"&gt;fib_cache&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;fibonacci&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nf"&gt;fibonacci&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;fib_cache&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;n&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="nf"&gt;fibonacci&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;The Role of an Inspiring Mentor&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A great course depends on a great mentor, and I was fortunate to have &lt;strong&gt;Arun Valliappan Valliappan&lt;/strong&gt; guiding me. Through &lt;strong&gt;42 insightful sessions&lt;/strong&gt;, he made complex topics approachable with clear explanations, real-world insights, and problem-solving techniques. Being part of &lt;strong&gt;Batch A&lt;/strong&gt; was a privilege, and his mentorship greatly boosted my confidence.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Final Thoughts&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Reflecting on my experience, I can confidently say that this journey has been one of the most enriching phases of my career preparation. The Smart Interviews Training has equipped me with the necessary tools to tackle coding challenges efficiently.&lt;/p&gt;

&lt;p&gt;To all aspiring software developers: &lt;strong&gt;embrace the process, keep practicing, and never shy away from challenges.&lt;/strong&gt; Growth happens when you push beyond your limits.&lt;/p&gt;

&lt;p&gt;This is just the beginning of my journey, and I look forward to exploring more advanced concepts and taking my skills to the next level!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Coding! 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>dsa</category>
      <category>smartinterviews</category>
    </item>
    <item>
      <title>Data Structures and Algorithms on Strings</title>
      <dc:creator>Veeranki Phani Sirisha</dc:creator>
      <pubDate>Tue, 31 Dec 2024 17:19:34 +0000</pubDate>
      <link>https://dev.to/phanisirisha-46/data-structures-and-algorithms-on-strings-2kc0</link>
      <guid>https://dev.to/phanisirisha-46/data-structures-and-algorithms-on-strings-2kc0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Day 1: String Algorithms Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first day of the ACM Winter School on DSA Strings began with an insightful lecture by &lt;strong&gt;Dr. Venkatesh Raman&lt;/strong&gt; on essential string processing algorithms, including:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Asymptotic Analysis:&lt;/strong&gt; Importance of Big-O notation and time/space complexity.&lt;br&gt;
&lt;strong&gt;KMP Algorithm:&lt;/strong&gt; Efficient pattern matching using the prefix function.&lt;br&gt;
&lt;strong&gt;Boyer-Moore Algorithm:&lt;/strong&gt; Focused on the bad character and good suffix rules.&lt;br&gt;
&lt;strong&gt;Pattern Matching Techniques:&lt;/strong&gt; Efficient substring search.&lt;br&gt;
LCS &amp;amp; Edit Distance: Dynamic programming solutions for LCS and applications of edit distance in fields like bioinformatics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sriram Bhyravarapu&lt;/strong&gt; led a hands-on tutorial where participants implemented the KMP and Boyer-Moore algorithms, practiced pattern matching, and explored dynamic programming with LCS and edit distance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 2: Advanced String Algorithms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The second day focused on advanced topics such as wildcard matching, mismatches, and suffix trees:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wildcard Matching:&lt;/strong&gt; Algorithms for handling * and ? characters in patterns.&lt;br&gt;
Pattern Matching with Mismatches: Techniques for approximate pattern matching.&lt;br&gt;
&lt;strong&gt;Suffix Trees:&lt;/strong&gt; Construction and applications in substring search, longest repeated substring, and lexicographical analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sriram Bhyravarapu&lt;/strong&gt; guided the hands-on implementation of wildcard matching, approximate pattern matching, and suffix trees, giving participants practical experience with these &lt;br&gt;
advanced techniques.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 3: Suffix Arrays and Their Applications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dr. Sharma Thankachan's&lt;/strong&gt; lecture focused on the fundamentals of suffix arrays, including their construction (Manber-Myers and Kasai's LCP algorithm) and applications in pattern matching, data compression, and bioinformatics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sriram Bhyravarapu&lt;/strong&gt; guided participants through hands-on implementation of suffix arrays, LCP arrays, and applications like substring searches, longest repeated substring identification, and Burrows-Wheeler Transform (BWT) for compression tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 4: Advanced String Data Structures and Queries&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dr. Thankachan discussed advanced applications of suffix trees and arrays in text indexing, bioinformatics, and data compression. He also introduced K-th lexicographical substring queries and Range Minimum Queries (RMQ).&lt;/p&gt;

&lt;p&gt;Sriram led coding exercises on K-th queries, RMQs, and their integration with suffix structures. Participants worked on real-world problems involving substring ranking, pattern matching, and optimization.&lt;/p&gt;

&lt;p&gt;The combination of theory and practical coding exercises provided participants with a solid understanding of advanced string algorithms for solving complex real-world problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 5: Rank-Select Operations, Wavelet Trees, and Applications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lecture by Dr. Chirag Jain:&lt;/strong&gt;&lt;br&gt;
Introduced rank (count of occurrences) and select (position of K-th occurrence) operations.&lt;br&gt;
Explained wavelet trees for efficient sequence representation and supporting queries.&lt;br&gt;
Discussed real-world applications in text compression, pattern matching, and bioinformatics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tutorial by Sriram Bhyravarapu:&lt;/strong&gt;&lt;br&gt;
Hands-on implementation of rank-select operations and wavelet tree construction.&lt;br&gt;
Solved practical problems like substring frequency and range queries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways:&lt;/strong&gt;&lt;br&gt;
Gained practical skills in rank-select operations and wavelet trees for computational problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 6: Burrows-Wheeler Transform (BWT), FM-Index, and Applications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lecture by Dr. Chirag Jain:&lt;/strong&gt;&lt;br&gt;
Introduced BWT for text compression and FM-Index for efficient substring matching.&lt;br&gt;
Discussed applications in text indexing and genomic data analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tutorial by Sriram Bhyravarapu:&lt;/strong&gt;&lt;br&gt;
Implemented BWT and FM-Index, with exercises in pattern matching and text compression.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways:&lt;/strong&gt;&lt;br&gt;
Mastered BWT and FM-Index, essential for text processing and genomic analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 7: Locality-Sensitive Hashing (LSH), Bloom Filters, and Applications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lecture by Dr. Naveen Sivadasan:&lt;/strong&gt;&lt;br&gt;
Introduced LSH for approximate nearest neighbor searches and Bloom Filters for efficient set membership testing.&lt;br&gt;
Discussed applications in image similarity, web indexing, and network security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tutorial by Sriram Bhyravarapu:&lt;/strong&gt;&lt;br&gt;
Implemented LSH and Bloom Filters, with exercises on query optimization and false positive rates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways:&lt;/strong&gt;&lt;br&gt;
Learned advanced techniques for efficient data retrieval and set operations using LSH and Bloom Filters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 8: Applications and Closing Ceremony&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session by Dr. Naveen Sivadasan:&lt;/strong&gt;&lt;br&gt;
Explored real-world applications of LSH and Bloom Filters in data deduplication, genomic data analysis, and recommendation systems.&lt;br&gt;
Highlighted their role in bridging theoretical knowledge with practical industry challenges.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Closing Ceremony:&lt;/strong&gt;&lt;br&gt;
Reflected on the week-long program, emphasizing the advanced concepts, hands-on skills, and real-world applications covered.&lt;br&gt;
Celebrated participants’ achievements and growth in tackling complex computational problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway:&lt;/strong&gt;&lt;br&gt;
The final day reinforced the practical relevance of advanced algorithms and marked a fitting conclusion to an intensive and enriching learning journey.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Felzrftuhsixrjguc69mq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Felzrftuhsixrjguc69mq.png" alt="Certificate pic" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fzvdjiierk34nv00m4nnn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fzvdjiierk34nv00m4nnn.jpg" alt="Celebration" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datastructures</category>
      <category>algorithms</category>
      <category>suffixtrees</category>
    </item>
    <item>
      <title>From Setback to Success: My ACM Winter School Journey...</title>
      <dc:creator>Veeranki Phani Sirisha</dc:creator>
      <pubDate>Tue, 31 Dec 2024 16:59:43 +0000</pubDate>
      <link>https://dev.to/phanisirisha-46/from-setback-to-success-my-acm-winter-school-journey-4h7p</link>
      <guid>https://dev.to/phanisirisha-46/from-setback-to-success-my-acm-winter-school-journey-4h7p</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.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%2F87qtn94fd283xy8mqrqa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F87qtn94fd283xy8mqrqa.png" alt="Selected for ACM Winter School" width="800" height="431"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.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%2Fs1fxg1m3ahimgtcj0tbw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fs1fxg1m3ahimgtcj0tbw.jpg" alt="My Topic" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
I began my journey as a curious learner in the ACM chapter. Although I faced rejection when I applied for the summer school program, I didn’t let that deter me. Instead, I took membership, honed my skills, and waited patiently for six months. With renewed enthusiasm, I applied again for the Winter School. My zeal and determination were unmatched, and today, I’m here to achieve remarkable things with the ACM Winter School.&lt;/p&gt;

&lt;p&gt;🌟 &lt;strong&gt;The Selection:&lt;/strong&gt;&lt;br&gt;
I was thrilled to be selected for the ACM Winter School at Amrita Vishwa Vidyapeetham, Coimbatore. The topic - Data Structures and Algorithms (DSA) on Strings!&lt;br&gt;
This premier program, curated by Prof. K. Somasundaram, aims to deepen our understanding of advanced computational concepts.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The journey of a thousand miles begins with a single step." – Lao Tzu&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📚 &lt;strong&gt;The Learning Experience:&lt;/strong&gt;&lt;br&gt;
The winter school provided an incredible platform, with valuable books and goodies that enriched the learning experience. The lectures were outstanding, delivered by brilliant minds like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Venkatesh Raman Sir&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Chirag Jain Sir&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Sriram Bhyravarapu Sir&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Teaching is the one profession that creates all other professions."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;🍃 &lt;strong&gt;The Campus &amp;amp; Nature:&lt;/strong&gt;&lt;br&gt;
The campus was stunning, surrounded by nature. We were provided with delicious food and comfortable hostels, making the entire experience comfortable and enriching.&lt;/p&gt;

&lt;p&gt;🛕&lt;strong&gt;A Memorable Trip:&lt;/strong&gt;&lt;br&gt;
Our visit to Adiyogi was the perfect end to the journey. The experience was deeply spiritual and inspiring.&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;Grateful and Excited for the Future:&lt;/strong&gt;&lt;br&gt;
A huge thank you to ACM India and ACM Amrita Vishwa Vidyapeetham for organizing this phenomenal program! I’m grateful for the knowledge and connections made during this remarkable trip. I’m excited to take these lessons forward and contribute to the tech community.&lt;/p&gt;

</description>
      <category>acm</category>
      <category>datastructures</category>
      <category>algorithms</category>
    </item>
  </channel>
</rss>
