ASK THE CAT
  • Ask
  • FAQ
  • R Winter Series
    • Create & Manipulate Matrices
    • Data Cleaning, Data Frames & Lists
    • Tidyverse
    • Creating Graphs with ggplot
  • AP CS A
    • Java July Series >
      • :: Classes & OOPs
      • :: Interface
      • :: Inheritance
      • :: Intro To Arrays Java
      • :: Arrays Continued
    • :: CS-A or CS-P?
    • :: Control Structures
    • :: Recursion
    • :: While Do While Loops in Java
    • :: Interface in Java
    • :: ArrayLists
    • :: Java Naming Conventions
    • :: Logic Circuits
    • :: Getters and Setters
    • :: Binary & Hexadecimal
  • Summer 2020 Tutoring
    • :: REPRESENT IT!
    • Pre-Algebra Sessions >
      • :: Basic Division
      • :: Complex Division
      • :: Estimation Division
      • :: Division Practice Problems
    • Algebra II >
      • :: Cubic Equations
      • :: Complex Numbers
    • Chemistry >
      • Molarity Basics
    • C++ Sessions >
      • :: Introduction
      • :: Style v Syntax
      • :: Variables & Data Types
      • :: Intialize/Declare Variables
      • :: Types of Operators
      • :: Strings and Input - Output
      • :: How to Construct Arrays
  • AP Bio
    • :: Sketch Notes >
      • :: Part 1
      • :: Part 2
    • :: epigenetics
    • :: Chi-Squared Tests
    • :: Cancer
    • :: Hox Genes
    • :: Hardy-Weinberg Principle
    • :: Rule of Multiplication + Addition for Punnett Squares
    • :: CRISPR
    • :: Amino Acid
    • :: Peptide
    • :: Why study Peptides
    • :: Aquaporins
    • :: Gram Stains
    • :: Graph on Excel for Bio Lab
  • AP Chem
    • Organic Chemistry
    • I. Properties of Matter >
      • Neutralization
    • II. Periodic table >
      • Org of Periodic Table
      • :: Groups
    • III. Chemical bonding >
      • :: Mass to Mass conversion
      • :: Naming Acids
      • :: Cross Drop Charge
      • :: Predicting Products
      • :: Balance Equation Question
      • :: Learn to Balance Equation
      • :: VSEPR Simulation
    • IV. Molar Mass >
      • ::LR ER and excess reatant
      • :: Molecular/Formula Mass
      • :: Empirical Formula & Molar Mass
      • :: Percentages & Empirical Formula
      • :: Empirical formula
    • IV. Solutions and Solubility >
      • :: Types of Solutions with Solubility Curves
      • :: Solubility Curve
    • V. Easy Tricks and Tips >
      • :: Tip to Molecular Shapes
      • Memorizing Bond Angles and Polarity
      • :: Chemistry Formulas
      • :: Trick Polyatomic ions
    • VI. General AP Concepts >
      • :: Potential Energy Diagrams
      • :: Haber-Bosch
      • :: Le Chatelier
      • :: Pressure & Moles
      • ::Rydberg's Constant vs Unit of Energy
      • :: Equilibrium and RICE Tables
      • :: Kinetics
      • Galvanic Cells
    • :: Flash cards
    • :: VSEPR
  • AP Stats
    • Chi-Squared Tests
    • Solving Chi-Sqd Test Using Sheets
    • Applications of Statistics
    • Standardized Scores
    • Distributions Transformations
  • AP Calc
    • DI Method - Tabular Integration
    • Polar Curves: Tangent Line and Slope
    • Riemann Sums: Left and Right Approximations
    • :: Conic Sections Flash cards
    • :: Parent Functions Flash cards
    • Worked Out Problems >
      • :: Worked Out Problems I
      • :: Worked Out Problems II
      • :: Worked Out Problems III
      • :: Worked Out Problems IV
      • :: Worked Out Problems V
      • :: Worked Out Problems VI
      • :: Worked Out Problems VII
      • :: Worked Out Problems VIII
      • :: Worked Out Problems IX
      • :: Worked Out Problems X
      • :: Worked Out Problems XI
      • :: Worked Out Problems XII
      • :: Worked Out Problems XIII
    • Applying Trig Identities
    • L'Hopital's Rule
    • Differences Between Conic Sections
    • Graphing Conic Sections
    • :: Pre-Calc - Trig Identities
    • Tangent & Normal Lines
    • Indefinite integrals: U Sub
    • Calculus Derivatives >
      • Product Rule
      • Quotient Rule
      • Chain Rule
  • Arduino
    • Quick Look
    • Project #1: Blinking LED
    • Project #2: Button LED
    • Project #3: Flowing LED
    • Project #4: LCD Display
    • Project #5: Serial Monitor
  • AP Español
    • AP Español Salsa
  • App
    • AP Go Pow How?
    • AP Go Pow APP Page
  • Musings
    • :: Bayesian Example
    • :: Nash equilibria
    • :: Bayesian Nash Equilibrium
    • :: Backward induction
    • :: what is ISS
    • :: Rotational Matrices
    • :: Primary v Secondary Pollutants
    • :: Black Hole
    • :: Covid-19 Hackathon
    • :: Evolution of Immunizations
    • :: Predictions of Diseases
    • :: Book List
    • :: Patterncount
    • :: Binary Classification
    • :: Cybersecurity
    • :: What is CIA Triad
    • :: What is Networking
    • :: Self Similarity
    • :: Trig Identities
    • :: UIL Number S
    • :: Box Offensive Play
    • :: Why Card Trick Works
    • :: Easy Multiplication
  • AP CREDIT
  • About

RECURSION IN JAVA 


In a "random access data structure" each element can be accessed directly and in constant time.

Example: An array. Visual example: a book - each page of the book can be open independently of others. Random access is critical to many algorithms, for example binary search.

a "sequential access data structure" is where each element can be accessed only in particular order. Visual example: a roll of paper or tape: here all prior material must be unrolled in order to get to data you want.

A sub case of "sequential data structure" Also known as: limited access data structures. "A stack is a "recursive" data structure". To understand what a "stack" really is lets first look at the definition of a stack:

" Stack is a collection of similar data items in which both insertion and deletion operations are performed based on LIFO principle ". To break it down..
  • Ordered list of the "same type" of element.
  • It is a linear list
  • When a element is added it goes to the top of the stack
  • All insertions & deletions can be done only at one end of the list
  • Stack is a Last In First Out (LIFO) structure
There are 2 basic operations performed in a stack:
1. Push   2. Pop

Push()  The Push function is used to add a new elements into stack
Pop()   Pop is used to delete or remove an element from the stack

When a stack is completely full is said to be "Overflow state" If a stack is completely empty - it is said to be "Underflow state".


In Java or C# :: value types (primitives) are stored on the stack. Reference types on the heap.

Memory allocation in terms of stack and heap is not specified in the C++ standard. Instead, the standard distinguishes automatic and dynamic storage duration. Local variables have automatic storage duration and compilers store them on the stack.

Objects with dynamic memory allocation (created with new) are stored on the free store, conventionally referred to as the heap.

Please note: In languages that are not garbage-collected, objects on the heap lead to memory leaks if they are not freed.
Stack can be visualized as behaving like a "stack of dinner plates"  When we need a plate, we take the one at the top of the stack. When we add a plate to the stack, we place it on top of the stack.

We remove the plate from the top to load to wash that is a LIFO structure: The element which is inserted last is accessed first. Last In First Out

Picture

keentween

  • Ask
  • FAQ
  • R Winter Series
    • Create & Manipulate Matrices
    • Data Cleaning, Data Frames & Lists
    • Tidyverse
    • Creating Graphs with ggplot
  • AP CS A
    • Java July Series >
      • :: Classes & OOPs
      • :: Interface
      • :: Inheritance
      • :: Intro To Arrays Java
      • :: Arrays Continued
    • :: CS-A or CS-P?
    • :: Control Structures
    • :: Recursion
    • :: While Do While Loops in Java
    • :: Interface in Java
    • :: ArrayLists
    • :: Java Naming Conventions
    • :: Logic Circuits
    • :: Getters and Setters
    • :: Binary & Hexadecimal
  • Summer 2020 Tutoring
    • :: REPRESENT IT!
    • Pre-Algebra Sessions >
      • :: Basic Division
      • :: Complex Division
      • :: Estimation Division
      • :: Division Practice Problems
    • Algebra II >
      • :: Cubic Equations
      • :: Complex Numbers
    • Chemistry >
      • Molarity Basics
    • C++ Sessions >
      • :: Introduction
      • :: Style v Syntax
      • :: Variables & Data Types
      • :: Intialize/Declare Variables
      • :: Types of Operators
      • :: Strings and Input - Output
      • :: How to Construct Arrays
  • AP Bio
    • :: Sketch Notes >
      • :: Part 1
      • :: Part 2
    • :: epigenetics
    • :: Chi-Squared Tests
    • :: Cancer
    • :: Hox Genes
    • :: Hardy-Weinberg Principle
    • :: Rule of Multiplication + Addition for Punnett Squares
    • :: CRISPR
    • :: Amino Acid
    • :: Peptide
    • :: Why study Peptides
    • :: Aquaporins
    • :: Gram Stains
    • :: Graph on Excel for Bio Lab
  • AP Chem
    • Organic Chemistry
    • I. Properties of Matter >
      • Neutralization
    • II. Periodic table >
      • Org of Periodic Table
      • :: Groups
    • III. Chemical bonding >
      • :: Mass to Mass conversion
      • :: Naming Acids
      • :: Cross Drop Charge
      • :: Predicting Products
      • :: Balance Equation Question
      • :: Learn to Balance Equation
      • :: VSEPR Simulation
    • IV. Molar Mass >
      • ::LR ER and excess reatant
      • :: Molecular/Formula Mass
      • :: Empirical Formula & Molar Mass
      • :: Percentages & Empirical Formula
      • :: Empirical formula
    • IV. Solutions and Solubility >
      • :: Types of Solutions with Solubility Curves
      • :: Solubility Curve
    • V. Easy Tricks and Tips >
      • :: Tip to Molecular Shapes
      • Memorizing Bond Angles and Polarity
      • :: Chemistry Formulas
      • :: Trick Polyatomic ions
    • VI. General AP Concepts >
      • :: Potential Energy Diagrams
      • :: Haber-Bosch
      • :: Le Chatelier
      • :: Pressure & Moles
      • ::Rydberg's Constant vs Unit of Energy
      • :: Equilibrium and RICE Tables
      • :: Kinetics
      • Galvanic Cells
    • :: Flash cards
    • :: VSEPR
  • AP Stats
    • Chi-Squared Tests
    • Solving Chi-Sqd Test Using Sheets
    • Applications of Statistics
    • Standardized Scores
    • Distributions Transformations
  • AP Calc
    • DI Method - Tabular Integration
    • Polar Curves: Tangent Line and Slope
    • Riemann Sums: Left and Right Approximations
    • :: Conic Sections Flash cards
    • :: Parent Functions Flash cards
    • Worked Out Problems >
      • :: Worked Out Problems I
      • :: Worked Out Problems II
      • :: Worked Out Problems III
      • :: Worked Out Problems IV
      • :: Worked Out Problems V
      • :: Worked Out Problems VI
      • :: Worked Out Problems VII
      • :: Worked Out Problems VIII
      • :: Worked Out Problems IX
      • :: Worked Out Problems X
      • :: Worked Out Problems XI
      • :: Worked Out Problems XII
      • :: Worked Out Problems XIII
    • Applying Trig Identities
    • L'Hopital's Rule
    • Differences Between Conic Sections
    • Graphing Conic Sections
    • :: Pre-Calc - Trig Identities
    • Tangent & Normal Lines
    • Indefinite integrals: U Sub
    • Calculus Derivatives >
      • Product Rule
      • Quotient Rule
      • Chain Rule
  • Arduino
    • Quick Look
    • Project #1: Blinking LED
    • Project #2: Button LED
    • Project #3: Flowing LED
    • Project #4: LCD Display
    • Project #5: Serial Monitor
  • AP Español
    • AP Español Salsa
  • App
    • AP Go Pow How?
    • AP Go Pow APP Page
  • Musings
    • :: Bayesian Example
    • :: Nash equilibria
    • :: Bayesian Nash Equilibrium
    • :: Backward induction
    • :: what is ISS
    • :: Rotational Matrices
    • :: Primary v Secondary Pollutants
    • :: Black Hole
    • :: Covid-19 Hackathon
    • :: Evolution of Immunizations
    • :: Predictions of Diseases
    • :: Book List
    • :: Patterncount
    • :: Binary Classification
    • :: Cybersecurity
    • :: What is CIA Triad
    • :: What is Networking
    • :: Self Similarity
    • :: Trig Identities
    • :: UIL Number S
    • :: Box Offensive Play
    • :: Why Card Trick Works
    • :: Easy Multiplication
  • AP CREDIT
  • About