GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - rambasnet/IntroToAlgorithms: CS3 - Introduction to Algorithms in C++ using Jupyter Notebooks

BranchesTags
Open more actions menu

Latest commit

 

History

225 Commits
225 Commits

Folders and files

NameName
Last commit message
Last commit date
demo-programs
demo-programs
 
 
pdfs
pdfs
 
 
resources
resources
 
 
.gitignore
.gitignore
 
 
00-TableOfContents.ipynb
00-TableOfContents.ipynb
 
 
AlgorithmAnalysis.ipynb
AlgorithmAnalysis.ipynb
 
 
AllPairsSP-Floyd.ipynb
AllPairsSP-Floyd.ipynb
 
 
BinaryTrees.ipynb
BinaryTrees.ipynb
 
 
DAG-TopologicalSort.ipynb
DAG-TopologicalSort.ipynb
 
 
GeneralTreesUnionFind.ipynb
GeneralTreesUnionFind.ipynb
 
 
GraphsImplementations.ipynb
GraphsImplementations.ipynb
 
 
GraphsIntro.ipynb
GraphsIntro.ipynb
 
 
GraphsShortestPaths.ipynb
GraphsShortestPaths.ipynb
 
 
Hashing.ipynb
Hashing.ipynb
 
 
Heaps-PriorityQueues.ipynb
Heaps-PriorityQueues.ipynb
 
 
Introduction.ipynb
Introduction.ipynb
 
 
LICENSE
LICENSE
 
 
MSTKruskals.ipynb
MSTKruskals.ipynb
 
 
MathematicalBackground.ipynb
MathematicalBackground.ipynb
 
 
README.md
README.md
 
 
SearchAlgorithms.ipynb
SearchAlgorithms.ipynb
 
 
Sorting.ipynb
Sorting.ipynb
 
 
SpanningTreesPrims.ipynb
SpanningTreesPrims.ipynb
 
 

Repository files navigation

Introduction to Algorithms using C++

  • Jupyter notebooks for text CS3 Data Structures and Algorithms: https://opendsa-server.cs.vt.edu/ODSA/Books/CS3/html/

View the notebooks online at nbviewer.jupyter.org

  • github itself renders notebooks most of the time but not reliable and some contents may not render correctly
  • click the above link or go to nbviewer.jupyter.org and copy pase this github repo URL
  • NOTE: You can only read text and code but not execute it online
  • see instructions below to run these notebooks (C++ code) on your system

Run C++ Code in Notebooks

Requirements

  • Jupyter Notebook
  • xeus-cling Notebook Kernel (C++ interpreter)

Install Required Tools

Linux/Mac

  • Download and install Miniconda: https://conda.io/miniconda.html
  • download Miniconda3...sh shell script installer file
  • open a terminal cd into the directory where the file was downloaded
  • run the shell script installer file
    $ bash Miniconda3.....sh
    
  • go through installation process; default works great on every prompt
  • once conda is installed; use conda to install the following pacakages
  • you have to close and start a new terminal to run freshly installed conda
    $ conda create -n cpp #create virtual environment for C++ 
    $ conda activate cpp
    $ conda install notebook
    $ conda install -c conda-forge xeus-cling
    $ conda install -c conda-forge jupyter_contrib_nbextensions
    $ conda install -c conda-forge jupyter_nbextensions_configurator
    $ jupyter nbextensions_configurator enable --user
    

Windows

  • On Windows, follow the instruction here: https://github.com/QuantStack/xeus-cling to install xeus-cling
  • NOTE: C++ interpreter kernel is experimental on Windows
  • Recommended:
    • enable and use WSL (Ubuntu) on Windows 10
    • follow Linux/Mac instructions above

Run Notebooks

  • open a terminal and cd into this cloned/downloaded repository folder and run jupyter notebook
    $ cd <cs3notebooks folder>
    $ conda activate cpp
    $ jupyter notebook
    
  • start from 00-TableOfContents.ipynb chapter or open any chapter

Stop Jupyter Notebook server

  • enter ctrl+c simultaneously on the Terminal where the jupyter notebook server is running on
$ conda deactivate # to deactivate cpp env and go to base env

About

CS3 - Introduction to Algorithms in C++ using Jupyter Notebooks

Topics

algorithmscpluspluscs3data-structuresjupyter-notebooksopendsa

Resources

Readme
MIT license
Activity

Stars

14 stars

Watchers

1 watching

Forks

4 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.